Puis-je utiliser `pip` au lieu de` easy_install` pour la résolution de la dépendance `python setup.py install`?

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

  •  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?

Était-ce utile?

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']
)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top