Puis-je utiliser `pip` au lieu de` easy_install` pour la résolution de la dépendance `python setup.py install`?
-
21-09-2019 - |
Question
python setup.py install
installera automatiquement les paquets répertoriés dans requires=[]
en utilisant easy_install
. Comment puis-je à utiliser à la place pip
?
La solution
Oui, vous pouvez. Vous pouvez installer un package à partir d'un tarball ou un dossier, sur le web ou votre ordinateur. Par exemple:
Installer à partir tarball sur le Web
pip install https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
Installer à partir tarball locale
wget https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
pip install requests-2.3.0.tar.gz
Installer à partir d'un dossier local
tar -zxvf requests-2.3.0.tar.gz
cd requests-2.3.0
pip install .
Vous pouvez supprimer le dossier requests-2.3.0
.
Installer à partir d'un dossier local (mode modifiable)
pip install -e .
installe le package dans mode modifiable . Toute modification apportée au code s'appliqueront immédiatement à travers le système. Ceci est utile si vous êtes le développeur de package et que vous voulez tester les modifications. Cela signifie également que vous ne pouvez pas supprimer le dossier sans casser l'installation.
Autres conseils
Vous pouvez pip install
un fichier peut-être par python setup.py sdist
d'abord. Vous pouvez également pip install -e .
qui est comme python setup.py develop
.
Si vous êtes vraiment mis sur l'utilisation python setup.py install
vous pouvez essayer quelque chose comme ceci:
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']
)