2016-06-15 7 views
2

python 3.5가 필요한 저장소의 가상 환경을 얻으려고합니다. 나는 데비안을 사용하고 있으며 파이썬 3.5에는 적성 패키지가 없습니다. 일부 게시물을 읽은 후 3.5 소스 코드를 다운로드하여 컴파일하는 것이 좋습니다.Python 3.5 설치 pyvenv

make와 install을 실행 한 후, python3.5가/usr/local/bin에 설치되었습니다. $ PATH 변수에 추가했습니다.

여기 내가 문제를 만났습니다. 내가 실행 한 후 :

$ cd project-dir 
$ pyvenv env 
$ source env/bin/activate 
$ pip install -r requirements.txt 

적절한 패키지를 설치하기 위해 sudo가 필요한 문제가 발생했습니다. 나는 달렸다 :

$ which pip 

그리고 pip는 여전히/usr/local/bin 버전의 pip를 사용하고 있었다.

$ echo $PATH 

는 I가/usr/로컬 경로 내 PATH 변수에 가상 환경의 경로 후 왔기 때문에, 대신 내 가상 환경의 PIP의 버전을 사용하고 있음을 가정하고

/home/me/project-dir/env/bin:/usr/local/bin:/usr/bin:/bin: ... 

를 반환했습니다.

virtualenv에서 올바른 버전의 pip를 실행하는 가장 좋은 방법은 무엇입니까? 필자가 생각할 수있는 두 가지 옵션은 바이너리를/usr/bin으로 옮기거나 내 가상 env에서 activate 스크립트를 수정하여/usr/local 다음에 virtualenv 경로를 배치하는 것입니다.

답변

2

케쉬의 대답은 올바른 방향으로 나를 이끌었습니다.

문제는 실제로 내 venv에 pip가 설치되지 않았다는 것입니다.

소스에서 python3.5를 빌드했을 때 libssl-dev 패키지가 없었습니다. ensurepip의 종속성 중 하나가 libssl-dev가 없기 때문에 설치되지 않은 python ssl 패키지 인 것 같습니다.

문제를 해결하기 위해 libssl-dev 패키지가 설치된 소스에 대해 python 3.5를 다시 빌드했습니다. 재건 된 파이썬에는 이제 ssl 패키지가 포함되어있어 가상 환경에 pip를 설치할 수 있습니다.

+0

내 대답이 올바른 방향으로 인도했다는 소식을 듣고 기쁘다! –

+0

감사합니다. 감사합니다. 감사합니다. –

1

로컬로 설치하십시오 :

pip install --user -r requirements.txt 

것, 내가 믿고, 당신의 $HOME 디렉토리의 하위 디렉토리에 파일을 설치 (I 설정 것 생각하는 가상 ENV). 그렇지 않으면 난 그냥 사용할 수 있다고 생각 :

/path/to/virtualenv/pip install -r requirements.txt 
+0

--user는 virtualenv가 아니라 시스템에 패키지를 설치했습니다. 두 번째 옵션이 효과가 있다고 생각하지만 프로젝트 경로를 입력하지 않아도되는 virtualenvs의 멋진 기능을 제거합니다. – knelson

2

옵션 1 수동으로 실행하여 가상 환경에서 주사위를 업그레이드 할 수 있습니다

pip install -U pip 

옵션이 그 안에 주사위를 업그레이드 할 수 좋은 방법 package python -m ensurepip --upgrade 실제로 시스템의 pip 버전을 업그레이드합니다 (ensurepip의 버전보다 낮은 경우). venv 새로운 환경에 핍을 추가 ensurepip을 사용하기 때문에

당신은이 문제를 직면하고있다 :

--without-핍 옵션이 주어 않는 한, ensurepip는 가상 환경에 부트 스트랩 핍에 호출됩니다

.

필요한 모든 구성 요소가 이미 패키지에 포함되어 있으므로 패키지가 인터넷에서 다운로드하거나 다른 곳에서 파일을 가져올 수 없습니다. 그렇게하면 보안 결함이 추가되어 지원되지 않습니다.

pipepip은 최신 pip가 아니라 "a"pip를 제공하도록 설계되었습니다.최신 게시물을 얻으려면이 게시물의 시작 부분에있는 수동 방법을 사용하십시오. - https://github.com/python/cpython/commit/f649e9c44631c07e707842c42747b651b986dcc4

  • What's the proper way to install pip, virtualenv, and distribute for Python?
  • Comprehensive beginner's virtualenv tutorial?
    1. 수동으로 파일을 사용 ensurepip 업그레이드하려면 :

      당신은 파이썬 콘솔에 추가 읽기를위한 import ensurepip print(ensurepip.version())

      더 많은 연구 결과를 입력 할 수 있습니다 버전을 ensurepip 확인하려면

    관련 문제