Posso usar o 'pip` em vez de` fácil instalação `para' python setup.py instalar a resolução de dependências?

python setup.py install irá instalar automaticamente os pacotes listados em requires=[] Usando easy_install. Como é que o faço usar pip em vez disso?

Author: joeforker, 2010-01-18

3 answers

Podes, sim. Você pode instalar um pacote a partir de um tarball ou uma pasta, na web ou no seu computador. Por exemplo:

Instalar a partir do tarball na web

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

Instalar a partir do tarball local

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

Instalar a partir da pasta local

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

Você pode apagar a pasta requests-2.3.0.

Instalar a partir da pasta local (Modo Editável)

pip install -e .

Isto instala o pacote no Modo Editável . Todas as alterações que fizer ao código serão imediatamente aplicadas em todo o sistema. Isto é útil se você for o desenvolvedor de pacotes e quiser testar as alterações. Também significa que você não pode apagar a pasta sem quebrar a instalação.

 91
Author: Colonel Panic, 2017-05-17 22:48:48

Você pode {[[0]} um arquivo talvez por python setup.py sdist Primeiro. Você também pode {[2] } que é como python setup.py develop.

 99
Author: Geoff Reedy, 2010-01-19 00:05:39

Se estás mesmo decidido a usar {[[1] } podias tentar algo assim:

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']
)
 2
Author: TomDotTom, 2017-03-23 04:21:22