virtualenvwrapper 윈도우 - virtualenv와 함께 다른 Python 버전 사용




파이썬 사용법 (17)

더 쉬운 방법이 있습니다.

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`

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

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


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를 원했습니다.


업데이트 : Python 3.6의 경우, 아래의 pyvenv 스크립트는 더 이상 사용되지 않습니다. 대신 venv 다음 명령을 사용하여 가상 환경을 만들 venv 합니다.

python3 -m venv <myenvname>

python3 (3.3+)의 경우 위의 방법이나 venv pyvenv 명령을 사용하십시오.

pyvenv /path/to/new/virtual/environment

venv 는 다른 버전의 Python과 함께 virtualenv를 생성하는 것을 허용하지 않습니다. 이를 위해 virtualenv package 설치하고 사용하십시오.


, 위의 답변은 정확하고 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$ 

Mac OSX 10.6.8 (Snow Leopard) :

1) pip install virtualenvpip install virtualenv 하면 pip 명령은 파이썬 버전 중 하나와 연결되며 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을 지정하여 -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 컴퓨터의 위치에서 python을 새로 만든 my_env / bin / 디렉토리로 복사합니다.

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

 /usr/local/bin

3) 내가 설치 한 여러 가지 비단뱀은 python3.2 또는 python3.2 와 같은 이름을 가지고 있으며 전체 경로가 아닌 그 이름을 사용할 수 있습니다.

======== 가상 바이러스 =========

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://.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 option 은 virtualenvwrapper와 다르게 작동합니다 : 파이썬 인터프리터의 전체 경로를 새로운 환경에서 사용하도록 지정해야합니다 (기본 파이썬 버전을 사용하지 않으려는 경우).

$ 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 환경 변수에 지정된 위치에 환경을 작성합니다. 따라서 한 곳에서 모든 환경을 유지할 수 있습니다.


이 두 명령은 초보자를 위해 잘 작동해야합니다.

virtualenv -p python2 myenv ( virtualenv -p python2 myenv )

virtualenv -p python3 myenv (python3 용)


창문 :

py -3.4x32 -m venv venv34

또는

py -2.6.2 -m venv venv26

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


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

리눅스 용 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

그것은 나를 위해 일했다.

sudo apt-get install python3-minimal

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

현재 virtualenv에 Python 2.7이 설치되어 있다고 가정하십시오. 하지만 python3.2 사용하고 python3.2 , 이것을 다음과 같이 수정해야합니다 :

$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv

그런 다음 virtualenv 를 활성화하십시오.

$ source activate name_of_your_virtualenv

그리고 나서 : python --version 버전이 현재 버전이 업데이트되었는지 확인하기 위해 쉘에서 확인하십시오.


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

원하는 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 버전을 볼 수 있습니다.


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

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

export VIRTUALENV_PYTHON=/path/to/desired/version

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


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

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

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


설치 스크립트에서 작업 할 때 같은 문제가 발생했다면 bin / activate_this.py 가 수행 한 작업과 그 작업을 되돌려 보았습니다.

예:

#! /usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys

# path to virtualenv
venv_path = os.path.join('/home', 'sixdays', '.virtualenvs', 'test32')

# Save old values
old_os_path = os.environ['PATH']
old_sys_path = list(sys.path)
old_sys_prefix = sys.prefix


def deactivate():
    # Change back by setting values to starting values
    os.environ['PATH'] = old_os_path
    sys.prefix = old_sys_prefix
    sys.path[:0] = old_sys_path


# Activate the virtualenvironment
activate_this = os.path.join(venv_path, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))


# Print list of pip packages for virtualenv for example purpose
import pip
print str(pip.get_installed_distributions())
# Unload pip module
del pip

# deactive/switch back to initial interpreter
deactivate()

# print list of initial environment pip packages for example purpose
import pip
print str(pip.get_installed_distributions())

의도 한대로 작동한다면 100 % 확신 할 수 없으며 완전히 빠진 것이 있습니다.





python virtualenv virtualenvwrapper