etc./StackOverFlow

virtualenv에서 다른 Python 버전 사용

청렴결백한 만능 재주꾼 2023. 4. 15. 23:22
반응형

질문자 :Ulf


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

Python 2.6.2를 컴파일했으며 일부 virtualenv와 함께 사용하고 싶습니다. 바이너리 파일을 덮어쓰는 것으로 충분합니까? 아니면 라이브러리와 관련하여 무언가를 변경해야 합니까?



--python (또는 짧은 -p ) 옵션을 사용하여 사용하려는 Python 실행 파일을 지정하십시오. 예:

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

NB Python 3.3 이상의 경우 아래 Aelfinn의 답변을 참조하세요.


Daniel Roseman

Python 3부터 Python 문서는 다음 명령을 사용하여 가상 환경을 생성할 것을 제안합니다.

 python3 -m venv <myenvname>

venv 는 다른 버전의 Python으로 가상 환경을 만드는 것을 허용하지 않습니다. virtualenv 패키지를 설치하고 사용하십시오.


더 이상 사용되지 않는 정보

pyvenv 스크립트 를 사용하여 가상 환경을 만들 수 있습니다.

 pyvenv /path/to/new/virtual/environment

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


The Aelfinn

다음은 공유 호스팅 환경에 있고 소스에서 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

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


zzart

더 쉬운 방법이 있는데,

 virtualenv venv --python=python2.7

주석 덕분에 이것은 시스템 수준(예: /usr/bin/python2.7)에 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`

Daniel Lee

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

iElectric

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


balazs

Mac OSX 10.6.8(스노우 레오파드):

1) pip install virtualenv 하면 pip 명령이 Python 버전 중 하나와 연결되고 virtualenv 가 해당 버전의 Python에 설치됩니다. 넌 할 수있어

 $ 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 를 사용하여 새 환경에서 사용할 컴퓨터에 설치된 모든 버전의 Python을 지정할 수 있습니다.

 $ 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.7 python3.2 또는 python3.2와 같은 이름을 가지고 있으며 전체 경로 대신 해당 이름을 사용할 수 있습니다.

========가상ENV래퍼==========

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 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 환경 변수가 지정한 위치에 환경을 생성합니다. 이를 통해 모든 환경을 한 곳에 보관할 수 있습니다.


7stud

현재 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 을 수행하여 버전이 현재 업데이트되었는지 확인합니다.


kmario23

이 두 명령은 잘 작동해야 합니다.

virtualenv -p python2 myenv (python2용)

virtualenv -p python3 myenv (python3용)


Sachin Kolige

[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 버전에 대한 가상 환경을 만드는 방법:

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 인터프리터, 표준 라이브러리 및 다양한 지원 파일의 사본을 포함하는 디렉토리를 생성합니다. ...


[Python 3.8 운영 환경/시스템에서] Python 3.7 환경을 생성합니다.

 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 환경 테스트:

 $ 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] >>>

Victoria Stuart

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


Nima Soroush

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

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

 export VIRTUALENV_PYTHON=/path/to/desired/version

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


Chris Johnson

Mac에서는 pyenv 및 virtualenvwrapper를 사용합니다. 새로운 virtualenv를 만들어야했습니다. Mac을 사용하는 경우 설치했다고 가정하지만 재미를 위해 홈브류가 필요합니다.

 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

silverdagger

명령 대체를 사용하여 python2를 찾는 것이 훨씬 더 쉽습니다.

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

또는 virtualenvwrapper를 사용할 때 :

mkvirtualenv -p $(which python2) <env_name>


Gerard

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

Zihao Zhao

해당 Python 버전이 설치되어 있어야 합니다. 가지고 있다면 기본적으로

virtualenv를 사용하면

 virtualenv --python=python3.8 env/place/you/want/to/save/to

venv와 함께

 python3.8 -m venv env/place/you/want/to/save/to

위의 예는 python3.8용이며 컴퓨터에 설치된 가상 환경의 다른 버전을 갖도록 변경할 수 있습니다.


CrmXao

윈도우에서:

 py -3.4x32 -m venv venv34

또는

 py -2.6.2 -m venv venv26

이것은 당신에게 적합한 python 실행 파일을 찾는 py 런처 를 사용합니다(설치했다고 가정).


jnnnnn

Linux용 Windows 하위 시스템에서:

  1. python3을 위한 환경 생성:

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

     source env/bin/activate

Marcin Rapacz

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

brandonbanks

이것들은 Windows의 경우 약간 복잡해 보입니다. python 3.3 이상을 실행하는 Windows를 사용하는 경우 python 실행기 py 를 사용하여 훨씬 더 쉽게 이 작업을 수행할 수 있습니다. 다른 python 버전을 설치하고 다음을 실행하기만 하면 됩니다.

 py -[my version] -m venv env

[my version] 사용하여 현재 디렉토리에 env 라는 가상 환경을 생성합니다. 예로서:

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

이렇게 하면 python3.7을 사용하여 env 라는 가상 환경이 생성되고 활성화됩니다. 경로 또는 기타 복잡한 항목이 필요하지 않습니다.


Cole Smith

여러 답변에서 이미 언급했듯이 virtualenv 를 사용하는 것이 깨끗한 솔루션입니다. 그러나 모든 사람이 알아야 할 작은 함정은 python의 별칭이 다음 과 같이 bash_aliases에 설정되어 있다는 것입니다.

 python=python3.6

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

 virtualenv venv --python=pythonX.X

PetarMI

, 위의 답변은 정확하며 LinuxMAC OS X 와 같은 Unix 기반 시스템에서 잘 작동합니다.

다음 명령을 사용하여 Python2Python3virtualenv 를 만들려고 했습니다.

여기에 각각 Python2 & Python3에 대한 자신의 이름으로 venv2venv3 사용했다.

파이썬2 »

 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$

hygull

이것은 Python 3.7이 있고 Python 3.6.6의 프로젝트를 다운그레이드하려는 Windows 10에서 사용하는 데 효과적이었습니다.

"venv"를 사용하여 "venv"라는 새 환경을 만들었습니다. https://www.python.org/downloads/windows/ 에서 다운로드했습니다. 설치 "Windows x86-64 실행 가능한 설치 프로그램 다운로드-" ; 그런 다음 내 환경을 만들 디렉토리에서 다음 명령줄을 사용했습니다.

>C:\Users\...\Python\Python36\python.exe -m venv venv

마지막으로 명령줄을 사용하여 환경을 활성화했습니다.

>venv\Scripts\activate.bat

그리고 다음을 호출하여 파이썬 버전을 확인하십시오.

>python --version 파이썬 3.6.6


AlphaSeekness

그것은 나를 위해 일했다

 sudo apt-get install python3-minimal virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

Dadaso Zanzane

virtualenv -p python3 myenv

virtualenv 만들기 링크


Aseem

이것은 virtualenv의 버그였습니다. 핍을 업그레이드하면 해결됩니다.

pip install --upgrade virtualenv


Mohit

2020년 말:

virtualenv를 사용하는 가장 원활한 경험(추가 이점: 가능한 모든 python 버전 포함)은 pyenv 및 (번들) pyenv-virtualenv 플러그인을 사용하는 것입니다(참조 https://realpython.com/intro-to-pyenv/#virtual- 환경 및 pyenv )

사용법: pyenv virtualenv <python_version> <environment_name>

설치:

참조 https://github.com/pyenv/pyenv-installer

virtualenv (및 pip )를 사용하는 대신 가능한 가장 좋은 대안 은 Poetry pyenv 와 함께 다른 Python 버전을 처리하기 위해)입니다.

그것은 PyPA (뒤에 조직에 의해 직접 지원 있기 때문에 또 다른 옵션이 pip 과 PyPI) 월 말부터 출시 다시 시작 (후반 2018 그 이전부터 공개하지 않았다 ...) 것 Pipenv


Bluu

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

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

 python3.7 -m venv myenv

하지만 버전이 python2python2.7 , 당신은 python3.7의 최근 기능이 필요합니다.

그런 다음 다음 명령을 실행하기만 하면 됩니다.

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

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


David Golembiowski

python 2가 설치된 Windows에서 저에게 효과적이었습니다.

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

이것이 기존 Python 2 설치에 Python 3 가상 환경을 만든 방법입니다.


user11118940

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

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


Nitin Nath Giri

출처 : http:www.stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv

반응형