virtualenv와 함께 다른 Python 버전 사용


1113

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

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


8
virtualenvwrapper를 사용 하여이 작업을 수행 할 수 있다고 언급합니다.
바이어스

13
파이썬 3에는 내장 된 virtualenv에 해당하는 venv가 있습니다.
naught101

2
새로운 환경을 만들지 않고 현재 환경에서 파이썬 버전을 전환 할 수 없습니까?
Charlie Parker

답변:


1542

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

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

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


160
나는 이것이 virtualenvwrappers에서도 작동한다고 언급했다. mkvirtualenv -p python2.6 env
bias

65
여기에 뭔가 빠졌습니다. 2.6이 이미 시스템에 설치되어 있지 않아도됩니까? virtualenv 의 요점 은 메인 버전 이외의 파이썬 버전을 가질 수 있다고 생각했습니다 (제 경우 CentOS의 2.4). virtualenv 설치할 수 있다고 가정 하고 env의 패키지를 사용하기 위해 그 아래에 Python 2.6 설치합니까?
John C

42
@ 존 네, 그렇습니다. 그것은 virtualenv의 요점이 아닙니다. 요점은 Python을위한 샌드 박스 환경을 만드는 것입니다. 먼저 해당 버전을 설치해야합니다. 그러나 사용자를 위해 로컬로 설치할 수 있습니다.
Daniel Roseman

8
@JohnC pythonbrew를 사용하여 대체 파이썬을 설치할 수 있습니다.
ashwoods

54
약간 게으른 게 있다면 :virtualenv -p `which python2.6` <path/to/new/virtualenv>
blaze

293

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

python3 -m venv <myenvname>

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


더 이상 사용되지 않는 정보

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

pyvenv /path/to/new/virtual/environment

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


8
더 많은 프로모션이 필요하다는 점을 지적하게되어 기쁩니다. 하나의 작은 니트 : 그들은 이제 python3 -m venv <envname>모든 것을 위해 스텁 스크립트가 필요하지 않도록 실행을 옹호하고 있습니다 .
Paul Everitt

6
실제로 기본 모듈 자체는 아니지만 pyvenv스크립트는 Python 3.6 이상 에서 더 이상 사용되지venv 않습니다. python 3 -m venv <myenvname>@PaulEveritt가 말한대로 사용하십시오 .
RichVel

5
경고 pyvenv하거나 스크립트를 python3 -m venv ...설치하지 마십시오 python-config. 이는 Python3 환경을 활성화 한 후에도 시스템 전체 python-config가 혼란스러운 결과를 초래 한다는 것을 의미합니다 . 이 2011 년 버그 리포트를 참조하십시오 github.com/pypa/virtualenv/issues/169 내 질문 stackoverflow.com/questions/42020937/...
Laryx 탈락

1
" venv다른 버전의 Python으로 virtualenv를 생성 할 수 없습니다." -이것이 사실입니까? 특정 Python 버전으로 생성하면 예를 들어 제대로 작동하는 것 같습니다 python3.5 -m venv <myenvname>( 예 : 해당 버전의 Python을 제공하는 경우).
Dominick Pastore 16:29에

5
@Nick의 관찰이 작동하는지 확인 : venv특정 Python 버전으로을 만드는 방법 은 해당 버전을 설정할 때 해당 버전을 사용하는 것입니다. 예를 들면 :python3.5 -m venv venv
tanius

183

공유 호스팅 환경에있을 때 수행 할 수있는 단계는 다음과 같습니다. 소스에서 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   

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


2
왜 그런 식으로해야합니까? 파이썬을 로컬로 설치하는 이유는 무엇입니까? 그리고 더 중요한 것은 파이썬 버전을 사용하여 virtualenv를 설치하는 이유는 무엇 입니까?
lajarre

15
확실한. 가상 호스팅 환경에 있고 서버가 만족스럽지 않은 이전 버전의 Python을 제공하는 경우 그것은 내 시나리오였습니다. 또한 다른 서버에서 프로젝트를 개발하고 로컬 컴퓨터에서 이러한 환경을 복제하려는 경우 .... Virtualenv는 python libs에 대한 하드 링크를 만듭니다. 따라서 Virtualenv를 설치하고 만드는 데 사용하는 Python 버전에서는 매우 중요합니다.
zzart

6
또는 당신이 나와 같고 sudo 권한이없는 직장에서 잠겨있는 기계를 사용하고 있다면. 라이브러리, SQL 데이터베이스, 언어 및 컴파일러의 로컬 사본이 풍부합니다! 감사!
zachd1_618

4
virtualenv 1.9.1에서는 오류없이 설치를 완료 하는 ~/.localpython/bin/virtualenv대신 대신 사용해야 했습니다 virtualenv. 또한 source ve/bin/activate대신에 사용하십시오 source activate.
Saul

3
이 작업을 수행하는 또 다른 이유는 프로젝트를 시작하기 전에 베타 버전을 시험해보고 무언가를 방해하고 파일을 매달아 남겨 두어 패키지 관리를 중단시킬 위험없이 프로젝트와 종속성이 계속 작동하는지 확인하는 것입니다. 나는이 답변을 좋아한다.
RobotHumans

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

2
환경 변수를 사용하는 동등한 솔루션에 대해서는 아래 답변을 참조하십시오. 이 접근 방식은을 사용해야한다는 것을 기억할 필요가 없습니다 -p.
Chris Johnson

5
새로운 가상 환경을 만들지 않고 파이썬 버전을 전환하는 솔루션이 없습니까?
Charlie Parker

3
시스템에 설치되지 않은 파이썬 버전을 설치하려는 경우이 기능이 작동합니까? 테스트하고 python3.6싶지만 python3.5컴퓨터에 설치된 것을 터치하고 싶지 않습니까?
alpha_989

1
@ alpha_989 당신은 이것을 할 수있는 해결책을 찾으십니까?
Daniil Mashkin

96

더 쉬운 방법이 있습니다

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`

1
참고로,
python2.7을

나는이 작업을 수행 할 수 있었다 virtualenv venv --python=python3.6뿐만 아니라
요르단

실제로 부 버전 번호를 삭제할 수 있습니다. virtualenv env --python=python2
Anshul

즉, 모든 버전을 한 후에는 별칭이 아닌 전체 경로를 사용하여 justing에 관심이있는, 적절한 해결책
user1767754

: Windows에서이 작은 비틀기와 매력처럼 일 내 경우에 있었다virtualenv venv --python=<insert_your_python_version_here><insert_your_python_version_here>C:\Python\Python368\python.exe
abautista

70

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


32

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 환경 변수로 지정된 위치에 환경을 만듭니다. 모든 환경을 한 곳에 보관합니다.


which pip파이썬 버전을 알려주지 않습니다. 그것은 나에게 이것을 준다 /usr/local/bin/pip.
Sankalp

@Sankalp, 당신이 CD를 /usr/local/bin하고 할 경우 $ ls -al pip, 당신은 다음과 같이 보일 것입니다 : pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
7stud

이미 답변에 언급되어 있지만 mkproject프로젝트 디렉토리와 주어진 파이썬 버전의 가상 환경을 모두 만들려면 사용할 명령입니다. mkproject -p /usr/bin/python3.6 myNewPython36Project
Jim Factor

22

이 두 명령은 제대로 작동합니다.

virtualenv -p python2 myenv (python2의 경우)

virtualenv -p python3 myenv (python3의 경우)


1
-p python2 플래그는 / usr / bin / python2를 찾는 것과 동일하게 작동합니다. 사용 : VIRTUALENV -p python2.7 myenv 2.7 등
야쉬 샤르마

21

현재 virtualenv에 python 2.7이 설치되어 있다고 가정하십시오. 그러나를 사용하려면 다음을 사용 python3.2하여 업데이트해야합니다.

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

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

$ source activate name_of_your_virtualenv

그런 다음 python --version쉘에서 버전을 업데이트했는지 확인하십시오.


환경 변수를 사용하는 동등한 솔루션에 대해서는 아래 답변을 참조하십시오. 이 접근 방식은을 사용해야한다는 것을 기억할 필요가 없습니다 -p.
Chris Johnson

13

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.
>>>

가상 환경에 설치된 파이썬 버전을 볼 수 있습니다


첫 번째 명령 / usr / local / bin / python3을 실행할 때이 오류가 발생했습니다. virtualenv라는 모듈 없음
tanvi

2
@tanvi : 먼저 python3에 virtualenv를 설치해야합니다. pip3 install virtualenv먼저 실행
Nima Soroush

12

-p방법은 잘 작동하지만 매번 사용하는 것을 기억해야합니다. 목표가 일반적으로 최신 버전의 Python으로 전환하는 것이 고통스럽고 실수로 이어질 수 있습니다.

다른 옵션은와 같은 기능을하는 환경 변수를 설정하는 것 -p입니다. ~/.bashrc파일을 통해 또는 로그인 세션에 대한 환경 변수를 관리하는 모든 곳에서 이를 설정하십시오 .

export VIRTUALENV_PYTHON=/path/to/desired/version

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


이것은 아름답게 작동했습니다. virtualenvwrapper 문서export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version 당 설정 이 작동하지 않는 이유 는 무엇입니까?하지만이 솔루션은 효과가 있습니까?
YPCrumble

그 env var는 파이썬 virtualenvwrapper이 실행될 때 사용 하는 것을 제어 하며 설치와 관련이 없습니다.
Chris Johnson

이것은 나를 위해 일했습니다. 새로운 virtualenv를 만들 때마다 더 이상 -p를 사용할 필요가 없습니다. 감사!
nedblorf

7

더 쉬운 방법은 명령 대체를 사용하여 python2를 찾는 것입니다.

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

또는 virtualenvwrapper를 사용할 때 :

mkvirtualenv -p $(which python2) <env_name>


7

Mac (High Sierra)의 경우 python3에 virtualenv를 설치하고 python2에 대한 virtualenv를 작성하십시오.

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

1
다음이없는 경우 python3에 virtualenv를 설치하십시오.python3 -m pip install virtualenv
Zihao Zhao

작동하지 않습니다. 내 파이썬 버전은 여전히 ​​3입니다.
shivendra pratap singh

6

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

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

명령은 mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}버전이 아니라 버전 이어야합니다 . SO가 짧은 편집을 허용하면 수정했습니다.
Martin Burch

pyenvpyenv-virtualenv플러그인을 통한 virtualenv 지원을 포함 하므로 virtualenvwrapper가 실제로 필요하지 않습니다. 내 pyenv 답변에 대한 자세한 내용 .
RichVel

5

[2019 년 11 월] Python 3.8 기반 Arch Linux 시스템에 Python 3.7 환경 (env)을 설치해야했습니다. Python 3.7은 더 이상 시스템에 없었으므로 필요한 패키지를 설치하기 위해 Python을 다운 그레이드 할 수 없었습니다.

또한 가상 환경 (venv) 내에서 해당 패키지 / Python 3.7을 사용하고 싶었습니다. 이것이 내가 한 방법입니다.


Python 버전 소스 파일을 다운로드하십시오.

Python 3.7.4 소스 파일을 다운로드했습니다.

https://www.python.org/downloads/source/

/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz

그런 다음 해당 아카이브 (소스 파일)를 추출하여

/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/


설치:

[참고 : 내 시스템 환경에서는 벤처가 아닙니다.]

cd /mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
time ./configure                 ## 17 sec
time make                        ## 1 min 51 sec
time sudo make install           ## 18 sec
time make clean                  ## 0.3 sec

설치된 Python 버전을 검사하십시오.

$ which python
/usr/bin/python

$ python --version
Python 3.8.0

$ which python3.7
/usr/local/bin/python3.7

$ python    ## Python 3.8 [system / env]
Python 3.8.0 (default, Oct 23 2019, 18:51:26) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

$ python3.7    ## newly-installed Python 3.7 package
Python 3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0]
>>>

$ python3.7 --version                                                                                                 
Python 3.7.4

특정 Python 버전에 대한 venv를 만드는 방법 :

https://docs.python.org/3/tutorial/venv.html

12.2. 가상 환경 생성

가상 환경을 만들고 관리하는 데 사용되는 모듈을이라고 venv합니다. venv일반적으로 사용 가능한 최신 버전의 Python을 설치합니다. 시스템에 여러 버전의 Python이있는 경우 python3 또는 원하는 버전을 실행하여 특정 Python 버전을 선택할 수 있습니다.

가상 환경을 작성하려면 배치 할 디렉토리를 결정하고 디렉토리 경로가있는 스크립트로 venv 모듈을 실행하십시오.

python3 -m venv tutorial-env

tutorial-env디렉토리가 존재하지 않으면 디렉토리 가 생성되고 , 파이썬 인터프리터의 사본, 표준 라이브러리 및 다양한 지원 파일이 들어있는 디렉토리가 생성됩니다. ...


[Python 3.8 운영 환경 / 시스템에서] Python 3.7 venv를 만듭니다.

python3.7 -m venv ~/venv/py3.7      ## create Python 3.7-based venv
source ~/venv/py3.7/bin/activate    ## activate that venv
deactivate                          ## deactivate that venv (when done, there)

다음에 추가됨 ~/.bashrc:

alias p37='echo "   [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'

Python 3.7 venv를 테스트하십시오.

$ p37                                                                                                                 
[Python 3.7 venv (source ~/venv/py3.7/bin/activate)]

(py3.7)$ python --version
Python 3.7.4

(py3.7)$ python
Python 3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53) 
[GCC 9.2.0] 
>>>

1
이것은 매우 철저한 답변입니다! :) 아치 리눅스에서 다른 시스템 (예 : 데비안 시스템)으로 무언가를 전송할 때마다이 문제가 발생합니다.
Robbie Capps

1
@ 빅토리아 스튜어트, 대단히 감사합니다. 이것이 바로 내가 찾던 것입니다.
daddyodevil

4

Linux 용 Windows 서브 시스템에서 :

  1. python3을위한 환경 만들기 :

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

    source env/bin/activate

3

Windows에서 :

py -3.4x32 -m venv venv34

또는

py -2.6.2 -m venv venv26

이것은 py런처 를 사용하여 올바른 파이썬 실행 파일을 찾습니다 (설치되어 있다고 가정).


3

, 위의 답변은 정답이며 LinuxMAC OS X 와 같은 Unix 기반 시스템에서 제대로 작동합니다 .

다음 명령을 사용하여 Python2Python3에 대한 virtualenv 를 만들려고했습니다 .

여기 내가 사용하고 venv2 & venv3 에 대한 자신의 이름으로 Python2 & Python3 각각.

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$ 

Python3»

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$ 

2

그것은 나를 위해 일했다

sudo apt-get install python3-minimal

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

2

pyenv 를 사용 하여 파이썬 버전을 관리합니다.

pyenv install 3.7.3
pyenv local 3.7.3

파이썬 버전을 확인하십시오.

$ python --version
Python 3.7.3

venv를 사용 하여 가상 환경을 만듭니다 .

python -m venv .

그런 다음 가상 환경을 활성화하십시오.

source bin/activate

파이썬 버전을 확인하십시오.

$ python --version
Python 3.7.3

이전 가상 환경을 제거해야 할 수도 있습니다

rm -rf bin

2

이들은 Windows에서 약간 복잡해 보입니다. python 3.3 이상을 실행하는 Windows에서는 python launcher py를 사용하여 훨씬 쉽게 수행 할 수 있습니다. 다른 파이썬 버전을 설치 한 후 다음을 실행하십시오.

py -[my version] -m venv env

envpython을 사용하여 현재 디렉토리에 가상 환경을 만듭니다 [my version]. 예로서:

py -3.7 -m venv env
./env/Scripts/activate

envpython3.7을 사용하여 가상 환경을 생성 하고 활성화합니다. 경로 나 다른 복잡한 것들이 필요하지 않습니다.


py -3.7 -m venv env대신 없어야합니까 -m?
sinoroc

그래, 게시물에 고정!.
콜 스미스


1

2019 년 데비안 (debian 9) 시스템의 경우 가상 환경 내에서 문제를 해결할 수있는 간단한 솔루션을 발견했습니다.

가상 환경이 다음을 통해 생성되었다고 가정합니다.

python3.7 -m venv myenv

python2와 버전 만 있으며 python2.7python3.7의 최신 기능이 필요합니다.

그런 다음 간단히 명령을 실행하십시오.

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

python3.7 패키지가 이미 시스템에서 사용 가능한 경우 추가합니다.


1

이것은 virtualenv의 버그였습니다. 핍을 업그레이드하는 것만으로도 해결됩니다.

pip install --upgrade virtualenv


1

여러 답변에서 이미 언급했듯이 virtualenv 를 사용하는 것이 깨끗한 솔루션입니다. 그러나 모두가 알아야 할 작은 함정은 파이썬의 별칭이 bash_aliases에 설정된 경우 다음 과 같습니다.

python=python3.6

이 별명은 가상 환경 내에서도 사용됩니다. 따라서이 시나리오 python -V에서 가상 환경 내에서 실행 3.6하면 환경을 작성하는 데 사용되는 인터프리터에 관계없이 항상 출력 됩니다.

virtualenv venv --python=pythonX.X

0

파이썬 2가 설치된 Windows에서 나를 위해 일했습니다.

  1. 1 단계 : Python 3 버전 설치
  2. 2 단계 : 가상 환경을위한 env 폴더를 만듭니다.
  3. 3 단계 : c : \ Python37 \ python -m venv c : \ path \ to \ env

이것이 기존 파이썬 2 설치에서 파이썬 3 가상 환경을 만드는 방법입니다.



0

예, 다른 버전의 파이썬을 설치하고 명령에서 다른 버전의 파이썬의 위치를 ​​다음과 같이 정의하면됩니다.

virtualenv / home / payroll / Documents / env -p / usr / bin / python3


0

다음은 Visual Studio Code 폴더에 가상 환경을 만드는 방법에
대한 단계별 단계입니다 . Powershell (관리자 모드)을 사용했습니다. 1. 가상 환경을 만들려는 VSCode 폴더- "D : \ Code_Python_VE"를 만듭니다.
2. 다음으로 "pip3 install virtualenv"명령을 입력하십시오. (D : \ Code_Python_VE> pip3 install virtualenv) 3. D : \ Code_Python_VE> python3 -m venv project_env
4. D : \ Code_Python_VE> project_env \ Scripts \ activate.bat
5. D : \ Code_Python_VE> ls-새 목록이 표시됩니다. "project_env"디렉토리.
6. D : \ Code_Python_VE> 코드. Visual Studio Code가 시작됩니다. 명령이 (code.)인지 확인하십시오.
7. 다음 내용으로 launch.jason을 작성하십시오.

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "python",
            "request": "launch",
            "name": "Python: Current File (Integrated Terminal 1)",
            "program": "${file}"
        },
        {
            "name": "Python: Current File (Integrated Terminal 2)",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

(디버그 창으로 이동하고 VS 코드에서 새 구성 추가 방법을 검색하십시오).

  1. Visual Studio 코드에서 F1을 누르면 팔레트가 열립니다-Python Interpreter를 선택하고 가상 환경 project_env를 선택하십시오.
  2. 하나의 명령문 print ( "Hello World")로 test.py 파일을 추가하십시오.
  3. 이 프로그램을 실행하십시오.
  4. Visual Studio Code 터미널-
    (project_env) d : \ Code_Python_VE> python -m pip install --upgrade
    이것이 도움이 되길 바랍니다.

-2

UBUNTU 19.04 / Global Python 3.7.

이것은 파이썬 3 개발에 권장되는 venv를 사용하여 Python 3.8 환경을 가능하게 해주었습니다.

3.8 및 3.8 venv 모듈 설치

$ sudo apt install python3.8 python3.8-venv ## 및 필요한 다른 모듈

해당 환경에서 원하는 파이썬 버전을 사용하여 가상 환경을 만듭니다.

$ /usr/bin/python3.8 -m venv python38-env

가상 환경으로 전환

$ 소스 python38-env / bin / activate

파이썬 -V = 파이썬 3.8

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.