2016-08-26 11 views
1

지난 2 시간 동안 찾을 수있는 모든 링크를 시도했기 때문에 나는 이중 어법이 아닌 것으로 생각합니다. 솔루션의 나는 사용자가 그 pypi 종속성 와 사용자가 가지고있는 가정의 (최신) 개인 GitHub의 종속성 패키지를 설치 디렉토리에 저장소, cd를 복제하고, $ pip install . (또는 적어도 pip install --process-dependency-links .)를 실행할 수 있도록하려면 그들에 대한 읽기 권한. dependency_links에 나는 또한 시도`pip`와 setup.py를 사용하여 github에서 호스팅되는 개인 저장소 일 수있는 의존성을 자동으로 설치하는 방법

setup (
    ... 
    install_requires=[' 
     ... 
     private-pkg 
     ... 
    ], 
    dependency_links=[ 
     'git+ssh://[email protected]/private-org/[email protected]#egg=private-pkg'], 
    ) 

다른 유사 :

setup.py (또한 devs 명령 $ pip install -e .을 실행할 수 있어야합니다)또한 추가하는 시도 A (버전) -1.0.0 후행하고 작동하지 않습니다하지만 어떤 경우에, 나는 최신 버전 내가 할 수있는

참고 설치 할 수 있도록 사용자를하고 싶습니다 :

pip install "git+https://github.com/private-org/private-pkg" 그리고 제대로 작동하지만 아무리해도 작동하려면 pip install .을 얻을 수 없습니다.

이 같은 오류와 함께 실패 할 모든 : pip install -vvv .으로 실행

Could not find a version that satisfies the requirement private-pkg (from my-pkg==1.0.0) (form versions:) No matching distribution found for private-pkg (from my-pkg==1.0.0)

pip는 결코 자식 링크를 찾습니다 없다는 것을 보여 주지만, pip install --process-dependency-links -vvv . 시도와 그것을 실행하는 그것을 가져올 수 있지만 (여러 가지 이유로 실패 "git URL을 볼 수 없습니다"또는 "URL을 가져 오지 못했습니다"). --process-dependency-links은 지원 중단으로 표시됩니다.

답변

2

pip는 dependency_links에 색인 페이지 (예 : PyPI)에 대한 링크가 있어야합니다. VCS에 대한 링크는 건너 뜁니다. 이 동작은 커밋 26facdd에서 변경되었습니다.

모든 외부 종속성을 requirements.txt 파일에 정의한 다음 pip install -r requirements.txt을 실행하는 것이 좋습니다. requirements.txt의 예 :

foo>=1.0 
-e git+ssh://[email protected]/private-org/[email protected]#egg=private-pkg 

How to state in requirements.txt a direct github source

보기이 misfeature를 설명하는 기사에 대한 setup.py vs requirements.txt이 있습니다.