현재 Python 2.5.4로 실행중인 데비안 시스템이 있습니다. virtualenv가 올바르게 설치되어 모든 것이 정상적으로 작동합니다. 다른 버전의 Python에서 virtualenv를 사용할 수 있습니까?
Python 2.6.2를 컴파일하고 일부 virtualenv와 함께 사용하고 싶습니다. 이진 파일을 덮어 쓰는 것으로 충분합니까? 아니면 도서관과 관련하여 무언가를 바꿔야합니까?
현재 Python 2.5.4로 실행중인 데비안 시스템이 있습니다. virtualenv가 올바르게 설치되어 모든 것이 정상적으로 작동합니다. 다른 버전의 Python에서 virtualenv를 사용할 수 있습니까?
Python 2.6.2를 컴파일하고 일부 virtualenv와 함께 사용하고 싶습니다. 이진 파일을 덮어 쓰는 것으로 충분합니까? 아니면 도서관과 관련하여 무언가를 바꿔야합니까?
답변:
그냥 사용 --python
(또는 짧은 -p
당신의 VIRTUALENV 인스턴스를 만들 때 사용, 예를 들어 원하는 실행 파이썬을 지정) 옵션 :
virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>
NB Python 3.3 이상의 경우 아래 의 Aelfinn 's answer를 참조하십시오.
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Python 3부터 Python Docs는 다음 명령을 사용하여 가상 환경을 만드는 것이 좋습니다 .
python3 -m venv <myenvname>
참고 venv
파이썬의 다른 버전과 가상 환경을 만드는 것을 허용하지 않습니다. 이를 위해 virtualenv
패키지를 설치하고 사용하십시오 .
pyvenv
스크립트는 가상 환경을 만드는 데 사용할 수 있습니다
pyvenv /path/to/new/virtual/environment
그러나 Python 3.6부터 사용되지 않습니다.
python3 -m venv <envname>
모든 것을 위해 스텁 스크립트가 필요하지 않도록 실행을 옹호하고 있습니다 .
pyvenv
하거나 스크립트를 python3 -m venv ...
설치하지 마십시오 python-config
. 이는 Python3 환경을 활성화 한 후에도 시스템 전체 python-config
가 혼란스러운 결과를 초래 한다는 것을 의미합니다 . 이 2011 년 버그 리포트를 참조하십시오 github.com/pypa/virtualenv/issues/169 내 질문 stackoverflow.com/questions/42020937/...
venv
다른 버전의 Python으로 virtualenv를 생성 할 수 없습니다." -이것이 사실입니까? 특정 Python 버전으로 생성하면 예를 들어 제대로 작동하는 것 같습니다 python3.5 -m venv <myenvname>
( 예 : 해당 버전의 Python을 제공하는 경우).
venv
특정 Python 버전으로을 만드는 방법 은 해당 버전을 설정할 때 해당 버전을 사용하는 것입니다. 예를 들면 :python3.5 -m venv venv
공유 호스팅 환경에있을 때 수행 할 수있는 단계는 다음과 같습니다. 소스에서 Python을 설치 및 컴파일 한 다음 venv
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
당연히 이것은 작업하고 배포하는 정확한 환경을 복제하려는 모든 상황에 적용 할 수 있습니다.
~/.localpython/bin/virtualenv
대신 대신 사용해야 했습니다 virtualenv
. 또한 source ve/bin/activate
대신에 사용하십시오 source activate
.
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
-p
.
python3.6
싶지만 python3.5
컴퓨터에 설치된 것을 터치하고 싶지 않습니까?
더 쉬운 방법이 있습니다
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`
virtualenv venv --python=python3.6
뿐만 아니라
virtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
<insert_your_python_version_here>
C:\Python\Python368\python.exe
Mac OSX 10.6.8 (Snow Leopard) :
1) 할 때 pip 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 버전입니다. 그러나 컴퓨터에 설치된 모든 버전의 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.7
or 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://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 환경 변수로 지정된 위치에 환경을 만듭니다. 모든 환경을 한 곳에 보관합니다.
which pip
파이썬 버전을 알려주지 않습니다. 그것은 나에게 이것을 준다 /usr/local/bin/pip
.
/usr/local/bin
하고 할 경우 $ ls -al pip
, 당신은 다음과 같이 보일 것입니다 : pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
프로젝트 디렉토리와 주어진 파이썬 버전의 가상 환경을 모두 만들려면 사용할 명령입니다. mkproject -p /usr/bin/python3.6 myNewPython36Project
현재 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
.
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.
>>>
가상 환경에 설치된 파이썬 버전을 볼 수 있습니다
pip3 install virtualenv
먼저 실행
이 -p
방법은 잘 작동하지만 매번 사용하는 것을 기억해야합니다. 목표가 일반적으로 최신 버전의 Python으로 전환하는 것이 고통스럽고 실수로 이어질 수 있습니다.
다른 옵션은와 같은 기능을하는 환경 변수를 설정하는 것 -p
입니다. ~/.bashrc
파일을 통해 또는 로그인 세션에 대한 환경 변수를 관리하는 모든 곳에서 이를 설정하십시오 .
export VIRTUALENV_PYTHON=/path/to/desired/version
그런 다음 명령 행에 virtualenv
지정하지 않을 때마다이를 사용합니다 -p
.
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
당 설정 이 작동하지 않는 이유 는 무엇입니까?하지만이 솔루션은 효과가 있습니까?
virtualenvwrapper
이 실행될 때 사용 하는 것을 제어 하며 설치와 관련이 없습니다.
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
python3 -m pip install virtualenv
맥에서는 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가 짧은 편집을 허용하면 수정했습니다.
pyenv
pyenv-virtualenv
플러그인을 통한 virtualenv 지원을 포함 하므로 virtualenvwrapper가 실제로 필요하지 않습니다. 내 pyenv 답변에 대한 자세한 내용 .
[2019 년 11 월] Python 3.8 기반 Arch Linux 시스템에 Python 3.7 환경 (env)을 설치해야했습니다. Python 3.7은 더 이상 시스템에 없었으므로 필요한 패키지를 설치하기 위해 Python을 다운 그레이드 할 수 없었습니다.
또한 가상 환경 (venv) 내에서 해당 패키지 / Python 3.7을 사용하고 싶었습니다. 이것이 내가 한 방법입니다.
Python 버전 소스 파일을 다운로드하십시오.
Python 3.7.4 소스 파일을 다운로드했습니다.
에
/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]
>>>
예 , 위의 답변은 정답이며 Linux 및 MAC OS X 와 같은 Unix 기반 시스템에서 제대로 작동합니다 .
다음 명령을 사용하여 Python2 및 Python3에 대한 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$
이들은 Windows에서 약간 복잡해 보입니다. python 3.3 이상을 실행하는 Windows에서는 python launcher py
를 사용하여 훨씬 쉽게 수행 할 수 있습니다. 다른 파이썬 버전을 설치 한 후 다음을 실행하십시오.
py -[my version] -m venv env
env
python을 사용하여 현재 디렉토리에 가상 환경을 만듭니다 [my version]
. 예로서:
py -3.7 -m venv env
./env/Scripts/activate
env
python3.7을 사용하여 가상 환경을 생성 하고 활성화합니다. 경로 나 다른 복잡한 것들이 필요하지 않습니다.
py -3.7 -m venv env
대신 없어야합니까 -m
?
virtualenv -p python3 myenv
2019 년 데비안 (debian 9) 시스템의 경우 가상 환경 내에서 문제를 해결할 수있는 간단한 솔루션을 발견했습니다.
가상 환경이 다음을 통해 생성되었다고 가정합니다.
python3.7 -m venv myenv
python2
와 버전 만 있으며 python2.7
python3.7의 최신 기능이 필요합니다.
그런 다음 간단히 명령을 실행하십시오.
(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/
python3.7 패키지가 이미 시스템에서 사용 가능한 경우 추가합니다.
파이썬 2가 설치된 Windows에서 나를 위해 일했습니다.
이것이 기존 파이썬 2 설치에서 파이썬 3 가상 환경을 만드는 방법입니다.
다음은 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 코드에서 새 구성 추가 방법을 검색하십시오).
UBUNTU 19.04 / Global Python 3.7.
이것은 파이썬 3 개발에 권장되는 venv를 사용하여 Python 3.8 환경을 가능하게 해주었습니다.
$ sudo apt install python3.8 python3.8-venv ## 및 필요한 다른 모듈
$ /usr/bin/python3.8 -m venv python38-env
$ 소스 python38-env / bin / activate
파이썬 -V = 파이썬 3.8