2010-04-30 5 views
11

yolk -l은 내 우분투 10.04에 114 개의 패키지가 설치되어 있다는 정보를 제공합니다. 내가 그 전환virtualenv 노른자 문제

virtualenv virt_env/virt1 --no-site-packages --clear

을 사용하여 새 VIRTUALENV 디렉토리를 생성 한 후, 내 프롬프트를 변경 한 후 yolk -l 다시 같은 114 개 패키지를 나를 수 있습니다.

어떻게 될까요?

+0

가상 환경에서 노른자를 설치하는 것이 도움이되었습니다 ... 아주 이상합니다. –

답변

18

virtualenv를 활성화하면 쉘 PATH가 변경되어 virtualenv의 bin/디렉토리가 가장 먼저 작동합니다. 이것은 모두입니다. 이것은 "파이썬"을 실행할 때 전역 시스템 파이썬이 아닌 파이썬 바이너리의 virtualenv 사본을 실행한다는 것을 의미합니다.

그러나 전역으로 설치 한 노른자가있는 경우 PATH의 "yolk"바이너리는/usr/local/bin/yolk 또는 일부입니다. virtualenv를 활성화해도 변경되지 않습니다 (virtualenv bin/dir에 "yolk"스크립트가 없으므로). 그리고/usr/local/bin/yolk 스크립트는 자연스럽게 시스틴 라인에 시스템 파이썬 인터프리터를 가지고 있습니다.

이것이 virtualenv에 yolk을 설치하면 문제가 해결됩니다. 왜냐하면 virtualenv bin/dir에 그 가상 라인의 python이있는 yolk 스크립트를 추가하기 때문입니다.

각 virtualenv에 yolk을 설치하지 않으려면/usr/local/bin 또는 virtualenv의 bin 디렉토리에있는 yolk 스크립트 - 래퍼를 복사하고 수동으로 shebang 행을 변경하십시오 virtualenv의 파이썬을 가리 키기 위해서. 스크립트 래퍼가 가져올 실제 yolk 패키지를 찾을 수 없으므로 --no-site-packages virtualenv와 함께 작동하지 않습니다! --no-site-packages virtualenv에서 노른자를 사용하고 싶다면, 정말로 유일한 선택은 거기에 설치하는 것입니다.

+1

이것은 부트 스트랩 스크립트로 venv를 만들 때마다 자동으로 수행 할 수 있습니다. http://www.virtualenv.org/en/latest/#creating-your-own-bootstrap-scripts – Hollister

+0

virtualenvwrapper를 사용하는 경우 나는 매우 추천한다), postmkvirtualenv 파일에'pip install yolk'을 추가한다. http://www.doughellmann.com/docs/virtualenvwrapper/scripts.html#scripts-postmkvirtualenv – Hollister

0

문제가 경로와 관련이 없다면 (가상 폴더 인 경우) 프로젝트 디렉토리의 lib 및 scripts 폴더를 삭제하여 virtualenv 설정을 지우십시오. 게시 한 명령 줄을 사용하여 가상 환경을 다시 만듭니다. virtualenv를 활성화 한 다음 노른자를 설치하십시오.

+1

대안으로, '노른자'를 시도해보십시오 - (yourvirtualenv)/bin에있는 경우 터미널을 닫은 다음 다시 열어보십시오. virtualenv를 활성화하고 '노크 - l'을 한 번 더 시도하십시오. 나를 위해 그것을 고정 – maxm