[python] virtualenv와 함께 다른 Python 버전 사용

현재 Python 2.5.4로 실행중인 데비안 시스템이 있습니다. virtualenv가 올바르게 설치되어 모든 것이 정상적으로 작동합니다. 다른 버전의 Python에서 virtualenv를 사용할 수 있습니까?

Python 2.6.2를 컴파일하고 일부 virtualenv와 함께 사용하고 싶습니다. 이진 파일을 덮어 쓰는 것으로 충분합니까? 아니면 도서관과 관련하여 무언가를 바꿔야합니까?



답변

그냥 사용 --python(또는 짧은 -p당신의 VIRTUALENV 인스턴스를 만들 때 사용, 예를 들어 원하는 실행 파이썬을 지정) 옵션 :

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

NB Python 3.3 이상의 경우 아래 의 Aelfinn ‘s answer를 참조하십시오.


답변

Python 3부터 Python Docs는 다음 명령을 사용하여 가상 환경을 만드는 것이 좋습니다 .

python3 -m venv <myenvname>

참고 venv파이썬의 다른 버전과 가상 환경을 만드는 것을 허용하지 않습니다. 이를 위해 virtualenv 패키지를 설치하고 사용하십시오 .


더 이상 사용되지 않는 정보

pyvenv 스크립트는 가상 환경을 만드는 데 사용할 수 있습니다

pyvenv /path/to/new/virtual/environment

그러나 Python 3.6부터 사용되지 않습니다.


답변

공유 호스팅 환경에있을 때 수행 할 수있는 단계는 다음과 같습니다. 소스에서 Python을 설치 및 컴파일 한 다음 venvPython 버전에서 만들어야 합니다. 파이썬 2.7.9. 이 라인을 따라 무언가를 할 것입니다.

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

가상 환경

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

당연히 이것은 작업하고 배포하는 정확한 환경을 복제하려는 모든 상황에 적용 할 수 있습니다.


답변

virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>


답변

더 쉬운 방법이 있습니다

virtualenv venv --python=python2.7

주석 덕분에 시스템 수준에서 python2.7을 설치 한 경우에만 작동합니다 (예 : /usr/bin/python2.7).

그렇지 않으면 homebrew를 사용하는 경우 경로를 사용하여 원하는 것을 제공 할 수 있습니다.

virtualenv venv --python=/usr/local/bin/python

python 설치 경로를 찾을 수 있습니다.

which python

이것은 파이썬 3에서도 작동합니다.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

궁극적으로 응축 :

virtualenv venv -p `which python`
virtualenv venv -p `which python3`


답변

나를 위해 Windows에서 이것은 작동합니다.

virtualenv --python=c:\Python25\python.exe envname

python.exe필자가 없으면 WindowsError: [Error 5] Access is denied
virtualenv 1.6.1과 함께 Python2.7.1을 설치했으며 Python 2.5.2를 원했습니다.


답변

Mac OSX 10.6.8 (Snow Leopard) :

1) 할 때 pip install virtualenvpip 명령은 파이썬 버전 중 하나와 관련이 있으며 virtualenv해당 버전의 파이썬에 설치됩니다. 넌 할 수있어

 $ which pip   

어떤 버전의 파이썬인지 확인하십시오. 다음과 같은 것이 보이면 :

 $ which pip
 /usr/local/bin/pip

그런 다음 수행하십시오.

$ ls -al /usr/local/bin/pip
lrwxrwxr-x  1 root  admin  65 Apr 10  2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip

출력에서 파이썬 버전을 볼 수 있습니다.

기본적으로 이는 새로운 환경에 사용되는 python 버전입니다. 그러나 컴퓨터에 설치된 모든 버전의 python을 다음과 같이 새 환경에서 사용할 수 있습니다 -p flag.

$ virtualenv -p python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3.2
New python executable in my_env/bin/python
Installing setuptools, pip...done.  

virtualenv my_env 현재 디렉토리에 Python 실행 파일이 들어있는 폴더와 다른 패키지를 설치하는 데 사용할 수있는 pip [command]의 사본이 작성됩니다.

http://docs.python-guide.org/en/latest/dev/virtualenvs/

virtualenv 컴퓨터의 특정 위치에서 새로 작성된 my_env / bin / 디렉토리로 파이썬을 복사하기 만하면됩니다.

2) 시스템 파이썬은에 /usr/bin있고, 설치 한 다양한 파이썬 버전은 기본적으로 다음 위치에 설치되었습니다.

 /usr/local/bin

3) 내가 설치 한 다양한 파이썬에는 python2.7or python3.2와 같은 이름이 있으며 전체 경로 대신 해당 이름을 사용할 수 있습니다.

======== VIRTUALENVWRAPPER =========

1) virtualenvwrapper를 작동시키는 데 문제가 있습니다. 이것이 내가 넣은 결과입니다 ~/.bash_profile.

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects  #Not very important -- mkproject command uses this
#Added the following based on: 
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

2) -p optionvirtualenvwrapper와 다르게 작동합니다 : 새로운 환경에서 사용할 파이썬 인터프리터의 전체 경로를 지정해야합니다 (기본 파이썬 버전을 사용하지 않으려는 경우).

$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH. 

virtualenv와 달리 virtualenvwrapper는 $ WORKON_HOME 환경 변수로 지정된 위치에 환경을 만듭니다. 모든 환경을 한 곳에 보관합니다.