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


137

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

답변:


133

그래 넌 할수있어. 웹 또는 컴퓨터의 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 .

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


10
"python setup.py install"을 사용하여 패키지를 설치하는 데 익숙하다면 "python setup.py install"을 사용하여 pip로 종속성을 해결하는 방법을 묻는 것이 당연하지만 잘못된 질문입니다. 해결책은 pip로 패키지를 설치하고 "setup.py install"사용을 중지하는 것입니다.
joeforker 2016 년

8
@joeforker 문제는 다음과 같은 작업을 수행하면 easy_install을 사용해야한다는 것입니다.python setup.py test
TomDotTom

1
@TomDotTom pip를 강제로 실행하는 방법에 대한 아이디어가 있으 setup.py test십니까?
Jan Sila

@ joeforker, pip는 setup.py무대 뒤에서 사용 합니다. 사람들이 pip로 패키지를 설치할 수있게하려면 setup.py파일 을 만들어야 합니다.
cowlinator

이것에 대한 증거가 필요하면을 시도하십시오 pip install -e git+https://github.com/octocat/Hello-World.git#egg=Hello-World. 오류는No such file or directory: 'c:\python\src\Hello-World\setup.py
cowlinator

110

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


14
이 작업을 시도하는 모든 사람에게 도움이 됩니다. 파일 자체가 pip install -e아닌 디렉토리를 인수로 사용 setup.py합니다. 처음 엔에서 기간 통지를하지 않은 pip install -e .나에게 약간의 혼란 : 일으킨
마르쿠스 아말 테아 매그너 슨

3
고맙습니다, pip install -e .설치할 수는 있지만 pip를 사용하면 편집 가능한 모드에서 어떻게 제거 할 수 있습니까?
JuanPablo

2
편집 가능한 설치는 정기적 인 'pip uninstall <package name>'
joeforker

4

실제로 사용하도록 설정 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']
)

1
고맙지 만이 방법을 사용하여 재귀 콜백에 직면하고 있습니다. 'python setup.py install'을 사용하면 Install.run을 호출하여 pip install을 호출합니다.이 함수는 Install을 호출합니다. 다시 실행 ...
루멘
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.