¿Puedo usar `pip` en lugar de` `easy_install` para la resolución de dependencias setup.py install` pitón?

StackOverflow https://stackoverflow.com/questions/2087148

  •  21-09-2019
  •  | 
  •  

Pregunta

python setup.py install instalará automáticamente los paquetes listados en requires=[] usando easy_install. ¿Cómo llego a utilizar pip lugar?

¿Fue útil?

Solución

Sí se puede. Puede instalar un paquete desde un paquete o una carpeta, en la web o su equipo. Por ejemplo:

Instalar desde archivo comprimido en la web

pip install https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz

Instalar desde archivo comprimido locales

wget https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
pip install requests-2.3.0.tar.gz

Instalar desde la carpeta local

tar -zxvf requests-2.3.0.tar.gz
cd requests-2.3.0
pip install .

Puede eliminar la carpeta requests-2.3.0.

Instalar desde la carpeta local (modo de edición)

pip install -e .

Esto instala el paquete en modo de edición . Cualquier cambio que realice en el código se aplicarán de inmediato en todo el sistema. Esto es útil si usted es el desarrollador de paquetes y desea probar los cambios. También significa que no se puede eliminar la carpeta sin romper la instalación.

Otros consejos

Puede pip install un archivo tal vez por primera python setup.py sdist. También puede pip install -e . que es como python setup.py develop.

Si realmente está configurado en el uso de python setup.py install usted podría intentar algo como esto:

from setuptools import setup, find_packages
from setuptools.command.install import install as InstallCommand


class Install(InstallCommand):
    """ Customized setuptools install command which uses pip. """

    def run(self, *args, **kwargs):
        import pip
        pip.main(['install', '.'])
        InstallCommand.run(self, *args, **kwargs)


setup(
    name='your_project',
    version='0.0.1a',
    cmdclass={
        'install': Install,
    },
    packages=find_packages(),
    install_requires=['simplejson']
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top