[python] `python setup.py install` 의존성 해결을 위해`easy_install` 대신`pip`를 사용할 수 있습니까?

python setup.py installrequires=[]사용하여 나열된 패키지를 자동으로 설치합니다 easy_install. pip대신 사용하려면 어떻게해야 합니까?



답변

그래 넌 할수있어. 웹 또는 컴퓨터의 tarball 또는 폴더에서 패키지를 설치할 수 있습니다. 예를 들면 다음과 같습니다.

웹의 tarball에서 설치

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

로컬 타르볼에서 설치

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

로컬 폴더에서 설치

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

requests-2.3.0폴더 를 삭제할 수 있습니다 .

로컬 폴더에서 설치 (편집 가능 모드)

pip install -e .

패키지를 편집 가능한 모드로 설치 합니다 . 코드를 변경하면 시스템 전체에 즉시 적용됩니다. 패키지 개발자이고 변경 사항을 테스트하려는 경우에 유용합니다. 또한 설치를 중단하지 않으면 폴더를 삭제할 수 없습니다.


답변

pip install아마 python setup.py sdist먼저 파일을 만들 수 있습니다 . 당신은 또한 pip install -e .같은 수 있습니다 python setup.py develop.


답변

실제로 사용하도록 설정 python setup.py install하면 다음과 같이 시도 할 수 있습니다.

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']
)


답변