문제

나는 fabric (0.9.4) + pip (0.8.2)로 작업 중이며 여러 서버에 일부 Python 모듈을 설치해야합니다.모든 서버에는 pymongo 모듈 용으로 업그레이드해야하는 이전 버전의 setuptools (0.6c8)가 있습니다.Pymongo에는 setuptools>= 0.6c9가 필요합니다.

내 문제는 pip가 setuptools 대신 pymongo로 설치를 시작하여 pip가 중지된다는 것입니다.요구 사항 파일의 셔플 모듈 순서가 도움이되지 않는 것 같습니다.

requirements.txt : 라코 디스

pip 자체가 제대로 작동하지 않는 것 같아서 설치 순서를 지정하는 방법이 있나요?

이 문제는 별도의 요구 사항 파일 두 개로 해결할 수 있지만 현재 또는 미래에 여러 요구 사항 파일을 유지할 필요가 없다면 좋을 것입니다.

문제는 pip 0.8.3에서 지속됩니다.

도움이 되었습니까?

해결책

이것은 어리석은 해킹이지만 작동 할 수도 있습니다.요구 사항 파일에서 한 줄씩 읽고 pip 명령을 실행하는 bash 스크립트를 작성하십시오. 라코 디스

다른 팁

다음을 사용할 수 있습니다. 라코 디스

Requirements.txt에서 모든 유형의 항목 (예 : git 저장소의 패키지)을 허용하려면 다음 명령 세트를 사용해야합니다. 라코 디스

-n 1 -L 1 옵션은 패키지를 하나씩 설치하고 requirements.txt 파일의 모든 행을 별도의 항목으로 처리하는 데 필요합니다.

<인용구>

Pymongo에는 setuptools>= 0.6c9가 필요합니다.

어떻게 아십니까? 빌드하거나 설치해야합니까? 설치하려는 Pymongo의 버전을 말하지 않지만 현재 (3.2.2) 버전에 대한 setup.py 파일을 보면 Pymongo가 setup.py (setup_requires)를 실행하는 데 필요한 것과 설치하는 데 필요한 것 (install_requires)에 대한 사양이 없습니다. . 그러한 정보가 없으면 pip는 특정 버전의 setuptools를 보장 할 수 없습니다. Pymongo가 setup.py를 실행하기 위해 특정 버전의 setuptools가 필요하다면 (setup 함수 자체를 실행하기 위해 setuptools를 요구하는 것과는 반대로) 다른 문제는 최근까지 이것을 지정할 방법이 없다는 것입니다. 이제 사양이 있습니다. PEP 518 – 최소 빌드 시스템 요구 사항 지정 pip로 곧 구현되어야하는 Python 프로젝트 PEP 518 지원 구현 # 3691 .

설치 순서는 pip 6.1.0에서 수정되었습니다.

From pip install – 설치 순서 섹션 : <인용구>

v6.1.0부터 pip는 종속 항목보다 먼저 종속 항목을 설치합니다. "위상 순서"로. 이것은 현재 유일한 약정 핍입니다. 주문과 관련이 있습니다.

이상 : <인용구>

v6.1.0 이전에는 pip가 설치 순서에 대해 약정하지 않았습니다.

그러나 Pymongo의 요구 사항을 적절하게 지정하지 않으면 도움이되지 않습니다.

@lukasrms의 솔루션에 이어-한 번에 하나씩 요구 사항을 설치하기 위해 pip를 가져와야했습니다. 라코 디스

요구 사항 파일에 의견이있는 경우 다음을 사용하세요. 라코 디스

나는 결국 "pip -E"를 사용하는 대신 virtualenv 내에서 pip를 실행하게되었습니다.

가상 환경이없는 서버에도 문제가있었습니다.별도의 pip 명령으로 setuptools를 설치하더라도 pymongo는 설치를 거부합니다.

pip와 setuptools 사이의 문제인 것 같아서 easy_install과 별도로 setuptools를 설치하여이 문제를 해결했습니다.

fabfile.py의 스 니펫 : 라코 디스

핍 0.8.3 및 0.8.2에서 이러한 문제가 발생했습니다.

죄송합니다. setuptools>= 0.6c9를 사용했기 때문에 첫 번째 답변이 잘못되었습니다.

pymongo의 setup.py에 setuptools>= 0.6c9가 필요하기 때문에 불가능한 것 같지만 pip는 setuptools>= 0.6c9 만 다운로드하고 아직 설치하지 않았습니다.

누군가 내가 전에 지적한 문제에서 그것에 대해 논의했습니다.

몇 주 전에 문제가 발생했습니다. egg_info를 실행하지 마세요.이전 패키지를 설치하기 전에 요구 사항 목록의 각 패키지에 추가 합니다.

시끄러워서 죄송합니다. <시간>

첫 번째 답변 :

pip를 0.8.3 버전으로 업그레이드하면 설치 순서에 대한 버그 수정 이 있습니다..

이제 업그레이드하면 모든 것이 작동합니다 :-)

여기에서 뉴스 확인 : http : //www.pip-installer.org / en / 0.8.3 / news.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top