¿Puedo usar `pip` en lugar de` `easy_install` para la resolución de dependencias setup.py install` pitón?
-
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?
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']
)