python - 파이썬 - 우분투 가상환경




virtualenv와 함께 다른 Python 버전 사용 (13)

데비안 시스템이 현재 파이썬 2.5.4와 함께 실행 중입니다. virtualenv가 제대로 설치되었으므로 모든 것이 잘 작동합니다. 다른 버전의 Python에서 virtualenv를 사용할 수 있습니까?

파이썬 2.6.2를 컴파일하고 일부 virtualenv와 함께 사용하고 싶습니다. 바이너리 파일을 덮어 쓰면 충분합니까? 아니면 도서관과 관련하여 뭔가를 바꿔야합니까?


리눅스 용 Windows 하위 시스템 :

  1. python3 환경 만들기 :

    virtualenv --python=/usr/bin/python3 env
    
  2. 그것을 활성화하십시오 :

    source env/bin/activate
    

Mac (High Sierra)의 경우, python3에 virtualenv를 설치하고 python2에 virtualenv를 만듭니다.

$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14

Mac에서는 pyenv 및 virtualenvwrapper를 사용합니다. 새로운 virtualenv를 만들어야했습니다. 당신은 당신이 맥에 있다면 당신이 설치했다고 가정하지만, 단지 재미를 위해 가정식이 필요합니다 :

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python  {virtual_env_name}

나는 또한 나의 요구 사항을 먼저 얼려서 간단히 새로운 virtualenv에 다시 설치할 수있다 :

pip install -r requirements.txt

Python2를 찾기 위해 명령 대체를 사용하면 훨씬 쉽습니다.

virtualenv -p $(which python2) <path/to/new/virtualenv/>

또는 virtualenvwrapper를 사용할 때 :

mkvirtualenv -p $(which python2) <env_name>


더 쉬운 방법이 있습니다.

virtualenv venv --python=python2.7

주석 덕분에, 이것은 시스템 레벨에서 python2.7을 설치 한 경우에만 작동합니다 (예 : /usr/bin/python2.7).

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

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`

원하는 python 버전으로 virtualenv 를 호출 할 수 있습니다. 예 :

python3 -m virtualenv venv

또는 virtualenv 경로를 직접 가리 키십시오. 예 : 창문 :

c:\Python34\Scripts\virtualenv.exe venv

그리고 실행 :

venv/bin/python

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

가상 환경에 설치된 python 버전을 볼 수 있습니다.


이것은 공유 호스팅 환경에서 소스에서 Python을 설치 및 컴파일 한 다음 Python 버전에서 venv를 생성해야하는 단계입니다. 파이썬 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   

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


창문 :

py -3.4x32 -m venv venv34

또는

py -2.6.2 -m venv venv26

파이썬 실행기 를 사용하여 올바른 파이썬 실행 파일을 찾습니다 (설치했다고 가정).


-p 접근법은 잘 작동하지만 매번 사용하는 것을 기억해야합니다. 귀하의 목표가 새로운 버전의 Python으로 전환하는 것이 일반적이라면 그것은 고통이며 실수로 이어질 수도 있습니다.

다른 옵션은 -p 와 동일한 작업을 수행하는 환경 변수를 설정하는 것입니다. ~/.bashrc 파일 또는 로그인 세션의 환경 변수를 관리하는 곳마다 설정하십시오 :

export VIRTUALENV_PYTHON=/path/to/desired/version

그런 다음 virtualenv 는 명령 줄에 -p 를 지정하지 않을 때마다이를 사용합니다.


그것은 나를 위해 일했다.

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

, 위의 답변은 정확하고 LinuxMac OS X 와 같은 유닉스 기반 시스템에서 잘 작동합니다.

나는 다음 명령으로 Python2 & Python3virtualenv만들려고했다 .

여기 에서는 각각 Python2Python3 의 이름으로 venv2 & venv3을 사용 했습니다.

Python2»

MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2`
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/admin/venv2/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv2/bin/
activate        easy_install        pip2.7          python2.7
activate.csh        easy_install-2.7    python          wheel
activate.fish       pip         python-config
activate_this.py    pip2            python2
MacBook-Pro-2:~ admin$ 

파이썬 3»

MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3`
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/venv3/bin/python3
Also creating executable in /Users/admin/venv3/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv3/bin/
activate        easy_install        pip3.6          python3.6
activate.csh        easy_install-3.6    python          wheel
activate.fish       pip         python-config
activate_this.py    pip3            python3
MacBook-Pro-2:~ admin$ 

Python 설치 위치 확인하기

MacBook-Pro-2:~ admin$ which python2
/usr/local/bin/python2
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ which python3
/usr/local/bin/python3
MacBook-Pro-2:~ admin$ 

virtualenv 인스턴스를 만들 때 --python (또는 short -p ) 옵션을 사용하여 사용하려는 Python 실행 파일을 지정하십시오. 예 :

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

주의 Python 3.3 또는 이후 버전의 경우 Aelfinn의 answer 참조하십시오. [편집자 주 : 편집자가 아닌 편집자가 평소에해야한다는 것을 알고 있지만 새로운 댓글은 숨겨져있을 것입니다.이 중요한 답변은 3 ~ 4 개의 앵무새 답변에 묻혀 있기 때문에 45 분 동안 오류를 풀어 보았습니다. 나는 모든 사람의 시간을 절약하려고 노력하고있다.]






virtualenvwrapper