virtualenvwrapper ve Python 3


119

Python 3.3.1'i ubuntu lucid üzerine kurdum ve aşağıdaki gibi başarıyla bir virtualenv oluşturdum

virtualenv envpy331 --python=/usr/local/bin/python3.3

bu envpy331benim ana dizimde bir klasör oluşturdu .

Ayrıca virtualenvwrapperyükledim.Ama belgelerde yalnızca 2.4-2.7sürümleri pythondestekleniyor .. python3Herhangi biri virtualenv'i düzenlemeye çalıştı mı? Eğer öyleyse, bana nasıl olduğunu söyleyebilir misin?


1
Sorun şu ki, pip hala python2 pip, değil mi? Sanırım istediğin şey pyvenvyerine kullanmak için virtualenvwrappervirtualenv
erikbwork

Yanıtlar:



240

Zaten python3 ve virtualenvwrapper kuruluysa, python3'ü sanal ortamla kullanmak için yapmanız gereken tek şey aşağıdakileri kullanarak bir ortam oluşturmaktır:

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

Veya (en azından brew kullanan OSX'te):

mkvirtualenv --python=`which python3` nameOfEnvironment

Ortamı kullanmaya başlayın ve göreceksiniz ki python yazar yazmaz python3 kullanmaya başlayacaksınız.


12
2.7.8 ve 3.4.1 ile yan yana demleme yoluyla kurulan OSX'te benim için pek işe yaramadı. Yine de "mkvirtualenv --python =" hangi python3` nameOfEnvironment "olarak değiştirmek mükemmel çalıştı.
Chris Doggett

@ChrisDoggett Ubuntu 14.10'da da aynı.
z0r

4
Ubuntu'da komut şu şekilde olacaktır: mkvirtualenv --python = / usr / bin / python3 ortam-adınız
Vasiliy Toporov

2
Bash kullanırsanız, bir satırı kaydetmek için değişiklik yapabilirsiniz -mkvirtualenv --python=$(which python3) nameOfEnvironment
d4nyll

gerçekten harika olan şu bash takma adını oluşturmaktır alias mkvirtualenv3="mkvirtualenv --python=$(which python3.6)"- o zaman python 2 veya 3 için virtualenv'ler oluşturmak kolaydır
robertmoggach

52

Virtualenvwrapper'ın birlikte çalıştırıldığı bir virtualenvwrapper yerine özel bir Python ikili dosyası kullanmasını sağlayabilirsiniz. Bunu yapmak için virtualenv tarafından kullanılan VIRTUALENV_PYTHON değişkenini kullanmanız gerekir:

$ export VIRTUALENV_PYTHON=/usr/bin/python3
$ mkvirtualenv -a myproject myenv
Running virtualenv with interpreter /usr/bin/python3
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
(myenv)$ python
Python 3.2.3 (default, Oct 19 2012, 19:53:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

2
Bu gerçekten güncel değil. Bir ortam değişkeni ayarlamak yerine, şu anda Jonathan tarafından önerilen --python parametresini kullanmalısınız.
AlexLordThorsen

6
@Rawrgulmuffins Neden? Bu, her yeni ortam için python sürümünü belirtme zorunluluğunu önler.
Joost

@Joost Bu adil bir nokta. Şahsen bunun bir dezavantajı olduğunu hissediyorum ama insanların neden bunu tercih ettiğini anlayabiliyorum.
AlexLordThorsen

21

virtualenvwrapper artık python yürütülebilir dosyasını yol olmadan belirtmenize izin veriyor.

Yani (en azından OSX'te) mkvirtualenv --python=python3 nameOfEnvironmentyeterli olacaktır.


2
İki çizgi gerekir. Düzenleyecekti, ancak SE 6 karakter gerektirir ve değişiklik yalnızca bir karakter gerektirir.
jwogrady

20

Ubuntu'da; using mkvirtualenv -p python3 env_namevirtualenv'i python3 ile yükler.

Env içinde, python --versiondoğrulamak için kullanın .


1
python --versionsürümü görüntülemek için
Dos

20

Bunu .bash_profile dosyanıza veya benzerine ekleyebilirsiniz:

alias mkvirtualenv3='mkvirtualenv --python=`which python3`'

Ardından bir python 3 ortamı oluşturmak istediğinizde mkvirtualenv3bunun yerine kullanın mkvirtualenv.


13

Koşarken buluyorum

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

ve

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

Ubuntu'daki komut satırında mkvirtualenv'i python3 ve virtualenv-3.4'ü kullanmaya zorlar. Hala yapmak zorunda

mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

çevre yaratmak için. Bu, / usr / bin / python3 içinde python3 ve /usr/local/bin/virtualenv-3.4 içinde virtualenv-3.4'e sahip olduğunuzu varsayar.


Dizini bulmak için which python2.4veya which python3.5veya tuşunu kullanınwhich python3.6--python=DIRECTORY
Santhosh


0

Eklediğim export VIRTUALENV_PYTHON=/usr/bin/python3benim için ~/.bashrcböyle:

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENV_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

o zaman koş source .bashrc

ve her yeni ortam için python sürümünü belirtebilirsiniz. mkvirtualenv --python=python2 env_name

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.