virtualenv와 함께 다른 Python 버전 사용
현재 Python 2.5.4로 실행중인 Debian 시스템이 있습니다. 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의 답변을 참조하십시오.
업데이트 : Python3.6의 경우 아래 pyvenv
스크립트는 더 이상 사용되지 않습니다. 대신 Python 문서는 다음 명령을 사용하여 가상 환경을 만들 것을 제안 합니다.
python3 -m venv <myenvname>
python3 (3.3+)의 경우 위의 방법 또는 스크립트 pyvenv
명령을 사용하십시오.
pyvenv /path/to/new/virtual/environment
venv
다른 버전의 Python으로 virtualenv를 생성 하는 것은 허용되지 않습니다. 이를 위해 virtualenv
패키지를 설치하고 사용하십시오 .
다음은 공유 호스팅 환경에 있고 소스에서 Python을 설치 및 컴파일 한 다음 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
당연히 이것은 작업하고 배포하는 정확한 환경을 복제하려는 모든 상황에 적용될 수 있습니다.
virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>
더 쉬운 방법이 있습니다.
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`
나를 위해 Windows에서 이것은 작동합니다.
virtualenv --python=c:\Python25\python.exe envname
를 빼고 python.exe
내가 가지고 WindowsError: [Error 5] Access is denied
내가 Python2.7.1이 VIRTUALENV 1.6.1로 설치되어, 나는 파이썬 2.5.2을 원했다.
Mac OSX 10.6.8 (Snow Leopard) :
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 버전을 볼 수 있습니다.
기본적으로 이는 새로 만드는 환경에 사용되는 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
또는 같은 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 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에 python 2.7이 설치되어 있다고 가정합니다. 하지만을 사용하려면 python3.2
다음과 같이 업데이트해야합니다.
$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv
그런 다음 다음을 수행하여 virtualenv 를 활성화하십시오 .
$ source activate name_of_your_virtualenv
그런 다음 python --version
셸에서 버전이 현재 업데이트되었는지 확인하십시오.
이 두 명령은 잘 작동합니다.
virtualenv -p python2 myenv
(python2의 경우)
virtualenv -p python3 myenv
(python3의 경우)
virtualenv
원하는 파이썬 버전으로 호출 할 수 있습니다 . 예를 들면 :
python3 -m virtualenv venv
또는 가상 환경 경로를 직접 가리 킵니다. 예 : 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.
>>>
가상 환경에 설치된 파이썬 버전을 볼 수 있습니다
-p
접근 방식은 잘 작동하지만 당신은 그 때마다 사용하는 것을 기억해야합니까. 일반적으로 새 버전의 Python으로 전환하는 것이 목표라면 고통이며 실수로 이어질 수도 있습니다.
다른 옵션은와 동일한 작업을 수행하는 환경 변수를 설정하는 것 -p
입니다. ~/.bashrc
파일을 통해 또는 로그인 세션에 대한 환경 변수를 관리 할 때마다 이를 설정하십시오 .
export VIRTUALENV_PYTHON=/path/to/desired/version
그런 다음 명령 줄에서 virtualenv
지정하지 않을 때마다이를 사용합니다 -p
.
For Mac(High Sierra), install the virtualenv on python3 and create a virtualenv for python2:
$ python3 -m pip install virtualenv
$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14
Even easier, by using command substitution to find python2 for you:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
Or when using virtualenvwrapper :
mkvirtualenv -p $(which python2) <env_name>
On the mac I use pyenv and virtualenvwrapper. I had to create a new virtualenv. You need homebrew which I'll assume you've installed if you're on a mac, but just for fun:
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}
I also froze my requirements first so i could simply reinstall in the new virtualenv with:
pip install -r requirements.txt
In windows subsystem for linux:
Create environment for python3:
virtualenv --python=/usr/bin/python3 env
Activate it:
source env/bin/activate
Yes, the above answers are correct and works fine on Unix based systems like Linux & MAC OS X.
I tried to create virtualenv for Python2 & Python3 with the following commands.
Here I have used venv2 & venv3 as their names for Python2 & Python3 respectively.
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$
Checking Python installation locations
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$
It worked for me
sudo apt-get install python3-minimal
virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3
On windows:
py -3.4x32 -m venv venv34
or
py -2.6.2 -m venv venv26
This uses the py
launcher which will find the right python executable for you (assuming you have it installed).
virtualenv -p python3 myenv
For Debian (debian 9) Systems in 2019, I discovered a simple solution that may solve the problem from within the virtual environment.
Suppose the virtual environment were created via:
python3.7 -m venv myenv
but only has versions of python2
and python2.7
, and you need the recent features of python3.7.
Then, simply running the command:
(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/
will add python3.7 packages if they are already available on your system.
This was a bug with virtualenv. Just upgrading your pip should be the fix.
pip install --upgrade virtualenv
It worked for me on windows with python 2 installation :
- Step 1: Install python 3 version .
- Step 2: create a env folder for the virtual environment.
- Step 3 : c:\Python37\python -m venv c:\path\to\env.
This is how i created Python 3 virtual environment on my existing python 2 installation.
I use pyenv to manage my python version.
pyenv install 3.7.3
pyenv local 3.7.3
Check your python version:
$ python --version
Python 3.7.3
Create the virtual environment with venv:
python -m venv .
Then activate the Virtual Environment:
source bin/activate
Check your python version:
$ python --version
Python 3.7.3
You may need to remove the previous virtual environment
rm -rf bin
You can do it by doing this:
virtualenv -p python3 .
Yes you just need to install the other version of python, and define the location of your other version of python in your command like :
virtualenv /home/payroll/Documents/env -p /usr/bin/python3
Here is the stepbystep how to create the Virtual environment in Visual Studio Code folder: I used Powershell (Administrator mode):
1. I create a VSCode folder - "D:\Code_Python_VE" where I want to create Virtual environment.
2. Next I type the command - "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 - This will list a new directory "project_env".
6. D:\Code_Python_VE> code . This will start Visual Studio Code. Make sure the command is (code .).
7. Create launch.jason with following content:
{
// 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"
},
]
}
(Please search how to go to Debug window and Add new Configuration in VS Code).
- Visual Studio 코드에서 F1을 누르면 명령 팔레트가 열립니다. Python Interpreter를 선택하고 가상 환경 project_env를 선택합니다.
- 하나의 문 print ( "Hello World")와 함께 test.py 파일을 추가합니다.
- 이 프로그램을 실행하십시오.
- Visual Studio 코드 터미널에서-
(project_env) d : \ Code_Python_VE> python -m pip install --upgrade
도움이 되었기를 바랍니다.
참고 URL : https://stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv
'Development Tip' 카테고리의 다른 글
Java에서 2 * (i * i)가 2 * i * i보다 빠른 이유는 무엇입니까? (0) | 2020.09.28 |
---|---|
이벤트 버블 링 및 캡처 란 무엇입니까? (0) | 2020.09.27 |
C ++ 17의 새로운 기능은 무엇입니까? (0) | 2020.09.27 |
스크롤 막대를 숨기지 만 여전히 스크롤 할 수 있음 (0) | 2020.09.27 |
배열 배열 병합 / 편 평화 (0) | 2020.09.27 |