[python] “pip install –editable ./”vs“python setup.py develop”

사이에 중요한 차이가 있습니까

pip install -e /path/to/mypackage

setuptools 변형?

python /path/to/mypackage/setup.py develop



답변

setup.py직접 전화하는 것을 피 하십시오. 패키지를 설치했다고 pip에 제대로 알리지 않습니다.

pip install -e:

로컬 프로젝트의 경우 “SomeProject.egg-info”디렉토리가 프로젝트 경로를 기준으로 작성됩니다. 이것은을 사용하는 것보다 한 가지 장점
setup.py develop으로, 현재 작업 디렉토리에 직접 “egg-info”를 만듭니다.

더 : 문서

setuptools ‘ docs 도 읽으십시오 .


답변

한 가지 더 다른 점 pip install -e은 휠을 사용하고 휠을
python setup.py develop
사용하지 않는 것입니다.

을 사용 install하면 다음을 사용하여 동일한 동작을 달성 할 수 있습니다
pip install -e /path/to/package --no-use-wheel

바퀴에 대한 자세한 정보 : Python Wheels


답변

선호 수있는 또 다른 차이 pip install -e에서 프로젝트 종속성이있는 경우이다 install_requires에서 setup.py, 다음 pip install -e .동안, 핍과 의존성을 설치 python setup.py develop와 함께 설치할 수 있습니다 easy_install‘달걀 정보를’위에서 언급 한 바와 같이 : 문제가 다시 발생할 수 있습니다. 계란 식별자가 첨부 된 맞춤 git URL과 함께 install-requires사용 하면 dependency_links특히 성 가실 수 있습니다.


답변

또 다른 차이점 : python setup.py develop시험판으로 간주되는 버전을 실행하면 (아마도 릴리스를 체크 아웃하지 않은 상태에서 git clone에서 실행 중이기 때문에) 종속성시험판을 설치할 수 있습니다 . 반면에 이러한 시험판을 원한다면 명시 적으로 pip install --editable전달해야 --pre합니다.

( 실수로 시험판을 사용한 CI 로그를 참조하여 여기에서 고정 빌드 와 비교 하십시오 .)


답변