programing

virtualenv와 함께 다른 Python 버전 사용

projobs 2022. 10. 31. 23:07
반응형

virtualenv와 함께 다른 Python 버전 사용

지정된 버전의 Python을 위한 가상 환경을 만들려면 어떻게 해야 합니까?

메모: Python 3.3+경우 아래 Aelfin의 답변을 참조하십시오.


하다를 사용하세요.--python 짧다)-pVirtualenv는 Python을 사용합니다.하다

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

Python 3 이후 이 문서에서는 다음을 사용하여 가상 환경을 만들 것을 제안합니다.

python3 -m venv "my_env_name"

해 주세요.venv에서는 다른 버전의 Python을 사용한 가상 환경 작성이 허용되지 않습니다.이를 위해 패키지를 설치하고 사용합니다.


쓸모없는 정보

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

pyvenv "/path/to/new/virtual/environment"

Python 3.6 이후 사용되지 않습니다.

하고 Python을 작성해야 할때할 수 .venvPython python python python python python python python python python python 。Python 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 venv --python=python2.7

코멘트 덕분에 python2.7이 시스템레벨에 설치되어 있는 경우에만 동작합니다(예: /usr/bin/python2.7).

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

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

python 설치 경로는 다음과 같습니다.

which python

이것은 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`
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>

Windows 에서는, 다음과 같이 동작합니다.

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

★★★★★★★★★★★★★★★★★ python.exeWindowsError: [Error 5] Access is denied.6 Python2.1이 .5virtualenv 1.6.1을 .

Mac OSX 10.6.8(Snow Leopard):

할 때 1) 할 때pip install virtualenv 버전 중 하나와 python은 python 버전 중 하나에 관련되어 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 버전이 됩니다.의 버전의 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 [명령어] 복사본을 포함하는 폴더를 만듭니다.

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

virtualenvpython을 컴퓨터 상의 위치에서 새로 생성된 my_env/bin/ 디렉토리에 복사하기만 하면 됩니다.

은 2) python에 ./usr/bin인스톨 한 다양한 python 버전은, 디폴트로 다음의 장소에 인스톨 되고 있습니다.

 /usr/local/bin

가지 이름이 . 3) 버마왕이다.python2.7 ""python3.2풀 패스가 아닌 이러한 이름을 사용할 수 있습니다.

========Virtual Env Wrapper=========

시키는 데 .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에서는 다음과 같이 동작합니다.새로운 환경에서 사용할 python interpreter의 풀 경로를 지정해야 합니다(기본 python 버전을 사용하지 않을 경우).

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

[2019년 11월] Python 3.8 기반의 Arch Linux 시스템에 Python 3.7 환경(env)을 설치해야 했습니다.Python 3.7은 더 이상 시스템에 탑재되어 있지 않기 때문에 Python을 다운그레이드하여 필요한 패키지를 설치할 수 없었습니다.

게다가 그 패키지 / Python 3.7을 가상 환경(venv) 내에서 사용하고 싶다고 생각하고 있었습니다.이렇게 했어요.


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/


설치:

[메모: 내 시스템 env에서는 venv가 아니라]

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. 가상화 환경 구축

및 은 " " "라고 불립니다.venvvenv는 일반적으로 사용 가능한 최신 버전의 Python을 설치합니다.시스템에 여러 버전의 Python이 있는 경우 python3 또는 원하는 버전을 실행하여 특정 Python 버전을 선택할 수 있습니다.

가상 환경을 작성하려면 가상 환경을 배치할 디렉토리를 결정하고 디렉토리 경로를 가진 스크립트로 venv 모듈을 실행합니다.

python3 -m venv tutorial-env

하면 " " " 가 생성됩니다.tutorial-env디렉토리가 존재하지 않는 경우는, Python 인터프리터, 표준 라이브러리, 및 다양한 서포트 파일의 카피를 포함한 디렉토리를 작성합니다.


Python 3.7 venv를 만듭니다(Python 3.8 운영 환경/시스템에서):

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

Python 버전이 설치되어 있어야 합니다.만약 당신이 그것을 가지고 있다면, 기본적으로,

virtualenv를 사용하면

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

정력있게

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

위의 예는 python3.8용입니다.컴퓨터에 설치되어 있는 가상환경의 버전이 다르도록 변경할 수 있습니다.

virtualenv python 2.7 python 2.7 python 。 이 말을 잘 요.python3.2, 과 같이 업데이트를 해야 합니다

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

다음으로 Virtual Env를 활성화 합니다.

$ source activate name_of_your_virtualenv

하다, 하다, 하다, 하다.python --version셸에서 버전이 업데이트되었는지 확인합니다.

이 2개의 명령어는 정상적으로 동작합니다.

virtualenv -p python2 myenv의 경우python2의 경우)

virtualenv -p python3 myenv의 경우python3의 경우)

요.virtualenv비단뱀예를 들어 다음과 같습니다.

python3 -m virtualenv venv

또는 virtualenv 경로를 직접 가리킬 수도 있습니다(예: Windows의 경우:

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커맨드 라인에 표시됩니다.

Mac에서는 pyenv와 virtualenvwrapper를 사용합니다.새로운 가상 환경을 만들어야 했습니다.홈브루가 필요합니다.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

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

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

또는 virtualenvwrapper를 사용하는 경우:

mkvirtualenv -p $(which python2) <env_name>

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

여러 답변에서 이미 언급했듯이 virtualenv를 사용하는 것은 깨끗한 솔루션입니다.단, python의 에일리어스가 bash_aliases로 설정되어 있는 경우 다음과 같은 작은 함정이 있습니다.

python=python3.6

이 별칭은 가상 환경 내부에서도 사용됩니다. 이 에서는 " "를 실행합니다.python -V 「」를 출력합니다.3.6환경 조성에 사용되는 인터프리터에 관계없이 다음을 수행합니다.

virtualenv venv --python=pythonX.X

윈도 3있는 의 는, 런처 python 3.3 의 Windows 를 할 수 .py훨씬 더 쉽게 할 수 있습니다.비단뱀

py -[my version] -m venv env

가상 인 '하다'가 .env 디렉토리에서 python을 사용하여 python을 [my version]를 들어 다음과 같습니다 §:

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

를 통해 가상 인 음음 음음 음음 음음 음음 ment thismentmentment ment thisment mentmentmentmentmentmentmentment 환경이 됩니다.env을 사용하여.7시 정각을 사용법

Windows의 경우:

py -3.4x32 -m venv venv34

아니면

py -2.6.2 -m venv venv26

이것은 적절한 python 실행 파일을 찾을 수 있는 런처를 사용합니다(설치되어 있다고 가정).

이 답변을 Windows에 활용했습니다.

https://stackoverflow.com/a/22793687/15435022

py -3.4 -m venv c:\path\to\wherever\you\want\it

Linux용 Windows 서브시스템의 경우:

  1. python3용 환경 생성:

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

    source env/bin/activate
    

pyenv를 사용하여 python 버전을 관리합니다.

pyenv install 3.7.3
pyenv local 3.7.3

Python 버전을 확인합니다.

$ python --version
Python 3.7.3

venv를 사용하여 가상 환경 생성:

python -m venv .

다음으로 가상 환경을 활성화합니다.

source bin/activate

Python 버전을 확인합니다.

$ python --version
Python 3.7.3

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

rm -rf bin

2020년 말:

virtualenv(추가 이점: 가능한 모든 python 버전에서)를 사용하는 가장 심리스한 경험은 pyenv 및 해당 (추가) pyenv-virtualenv 플러그인(cf https://realpython.com/intro-to-pyenv/ #virtual-environments-and-pyenv)을 사용하는 것입니다.

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

설치:

  • 먼저 모든 전제 조건이 충족되었는지 확인합니다(OS에 따라 다름).https://github.com/pyenv/pyenv/wiki/Common-build-problems#prerequisites
  • curl https://pyenv.run | bash
  • exec $SHELL

cf https://github.com/pyenv/pyenv-installer

그렇긴 하지만, 요즘은 다음을 사용하는 대신 가능한 최선의 대안입니다.virtualenv (그리고)pip)는 시(와 함께)가 됩니다.pyenv비단뱀

다른PyPA의 배후에 있는 에 의해 입니다.pipPyPI)와 함께 5월말부터 발매를 재개했다(그전에는 2018년말 이후 발매되지 않았다).

Python 3.7을 사용하고 있으며 Python 3.6.6의 프로젝트를 다운그레이드하고 싶은 Windows 10에서의 사용에 도움이 되었습니다.

「venv」를 사용해 「venv」라고 불리는 새로운 환경을 작성해, https://www.python.org/downloads/windows/ 에서 다운로드해 「Download Windows x86-64 executable instra-」를 인스톨 해, 환경을 작성하는 디렉토리에서 다음의 커맨드 라인을 사용했습니다.

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

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

>venv\Scripts\activate.bat

다음 번호로 python 버전을 확인합니다.

>python --version..

Linux Ubuntu 21.04(현재 Python 3.9.5)에서는 Python 3.7.8의 가상환경이 필요했습니다.작업을 시작하기 위한 전체 단계:

원하는 Python 버전 소스를 찾으십시오. 예를 들어 3.7.8은 https://www.python.org/downloads/release/python-378/에서 확인할 수 있습니다.

Gziped 소스 tarball 다운로드

★★★★★★★★★★★★★★★★★★★로 압축 해제tar zxvf Python-3.7.8.tgz 가능)(3.7.8)

에 복사합니다. /usr/bin은 /usr/bin이다.sudo cp -r Python-3.7.8 /usr/bin

cd /usr/bin/Python-3.7.8/

, 내용을 .ls

sudo time ./configure
sudo time make
time sudo make install
time make clean

Python 설정 및 보고 방법을 확인합니다.

which python
python --version

모두 프라이머리 인스톨에 관한 것입니다(Python 3.9.5는 이쪽).

새 설치를 확인하려면:

which python 3.7
python3.7 --version

모두 3.7.8 설치와 관련된 것입니다.

이를 실행하여 확인하려면 다음 작업을 수행합니다.

python3.7
exit()

설치 venv:

sudo apt install venv

venv를 작성하려면 (아마도 repo에서 .gitignore에 .venv를 추가합니다)

python3.7 -m venv .venv

venv를 활성화하려면:

source .venv/bin/activate

버전 확인:

python --version

, 위의 답변은 정확하며 Linux 및 MAC OS X 의 Unix 기반 시스템에서 정상적으로 작동합니다.

다음 명령어로 Python2 & Python3용 virtualenv를 작성하려고 했습니다.

여기서는 Python2와 Python3의 이름으로 venv2venv3를 각각 사용했습니다.

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$ 

그것은 나에게 효과가 있었다.

sudo apt-get install python3-minimal

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

가상 환경 생성 링크

이것은 virtualenv의 버그입니다.pip을 업그레이드하는 것만으로 해결할 수리가 됩니다.

pip install --upgrade virtualenv

에 Windows를 해야 합니다..exe

virtualenv -p=C:\Python27\python2.exe <envname>

언급URL : https://stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv

반응형