Virtualenv ile farklı Python sürümünü kullanın


1115

Şu anda python 2.5.4 ile çalışan bir Debian sistemim var. Virtualenv düzgün bir şekilde kuruldu, her şey iyi çalışıyor. Farklı bir Python sürümüne sahip bir virtualenv kullanabilme olasılığı var mı?

Python 2.6.2'yi derledim ve bunu bir virtualenv ile kullanmak istiyorum. İkili dosyanın üzerine yazmak yeterli mi? Yoksa kütüphanelerle ilgili bir şeyleri değiştirmek zorunda mıyım?


8
Sadece bunu virtualenvwrapper kullanarak da yapabileceğinizi belirtmek.
önyargı

13
Python 3'te yerleşik bir sanalenv eşdeğeri olduğunu belirtmek gerekir : venv .
naught101

2
Yeni bir ortam oluşturmadan mevcut ortamda python sürümünü değiştirmek mümkün değil mi?
Charlie Parker

Yanıtlar:


1542

Sadece kullanmak --python(veya kısa -pda Virtualenv örneğini oluştururken kullanım, örneğin istediğiniz yürütülebilir Python belirtmek için) seçeneği:

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

Not Python 3.3 veya üzeri için Aelfinn'in aşağıdaki cevabına bakınız.


160
Bunun sanal reklamcılar için de işe yaradığını anladım: mkvirtualenv -p python2.6 env
önyargı

65
Burada bir şey eksik - bu 2.6 zaten sistemde yüklü olmasını gerektirmez mi? Düşündüm noktası virtualenv I (benim durumumda, CentOS üzerinde 2.4) ana dışındaki pitonun bir sürümüne sahip olabilir oldu. Virtualenv'i yükleyebileceğimi ve daha sonra env'deki paketler için Python 2.6'yı kullanabileceğimi varsayıyordum ?
John C

42
@John evet, öylesin. Virtualenv'in noktası bu değil: Python için korumalı bir ortam oluşturmak. Önce bu sürümü yüklemeniz gerekecek - yine de kullanıcılarınız için yerel olarak yükleyebilirsiniz.
Daniel Roseman

8
@JohnC Alternatif pitonlar kurmak için pythonbrew kullanabilirsiniz.
ashwoods

54
: Eğer biraz tembel değilsenizvirtualenv -p `which python2.6` <path/to/new/virtualenv>
yangını

293

Python 3'ten beri , Python Docs sanal ortamı aşağıdaki komutla oluşturmanızı önerir :

python3 -m venv <myenvname>

venvDiğer Python sürümleriyle sanal ortamlar oluşturulmasına izin verilmediğini lütfen unutmayın . Bunun için virtualenv paketi kurun ve kullanın .


Eski bilgiler

pyvenv Komut sanal bir ortam yaratmak için kullanılabilir

pyvenv /path/to/new/virtual/environment

ancak Python 3.6'dan beri kullanımdan kaldırılmıştır.


8
Bunu belirttiğine sevindim, daha fazla promosyona ihtiyacı var. Bir küçük nit: şimdi python3 -m venv <envname>her şey için saplama komut dosyalarına ihtiyaç duymayı önlemek için çalıştırmayı savunuyorlar .
Paul Everitt

6
Aslında pyvenvkomut dosyası Python 3.6+ 'da kullanımdan kaldırılmıştır , ancak temel venvmodül kendisi değildir. Bu yüzden python 3 -m venv <myenvname>@PaulEveritt'in dediği gibi kullanın .
Aralık'ta RichVel

5
Uyardı pyvenvya python3 -m venv ...kurmayın python-configsenaryoyu. Bu, Python3 ortamınızı etkinleştirdikten sonra bile sistem genelinde python-configkafa karıştırıcı sonuçlarla çağrılacağı anlamına gelir . 2011'den bu hata raporuna bakın github.com/pypa/virtualenv/issues/169 ve sorum şu stackoverflow.com/questions/42020937/…
Laryx Decidua

1
"Lütfen venvdiğer Python sürümleriyle virtualenv oluşturulmasına izin vermediğini unutmayın ." - Bunun doğru olduğundan emin misin? Belirli bir Python sürümü ile oluşturursam, benim için iyi çalışıyor gibi görünüyor, python3.5 -m venv <myenvname>(mevcut Python sürümü olması koşuluyla).
Dominick Pastore

5
@ Nick'in gözleminin çalıştığını doğrulamak: venvBelirli bir Python sürümüyle bir oluşturmanın yolu, bu sürümü ayarlarken kullanmaktır. Örneğin:python3.5 -m venv venv
tanius

183

Bunlar, paylaşılan bir barındırma ortamında olduğunuzda ve Python'u kaynaktan yüklemeniz ve derlemeniz ve ardından venvPython sürümünüzden oluşturmanız gerektiğinde uygulayabileceğiniz adımlardır . Python 2.7.9 için. bu çizgiler boyunca bir şeyler yaparsınız:

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

sanal env

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   

Doğal olarak, bu, üzerinde çalıştığınız ve dağıttığınız ortamın aynısını çoğaltmak istediğiniz her durum için uygulanabilir.


2
Neden bu şekilde yapılacağını açıklayabilir misiniz: Python'u neden yerel olarak kuralım? Ve daha da önemlisi, neden kullanmak istediğiniz python sürümünü kullanarak virtualenv'i yüklemelisiniz ?
lajarre

15
Elbette. Sanal barındırma ortamındaysanız ve sunucu memnun olmadığınız python'un eski sürümlerini sağlıyorsa - bu benim durum senaryomdu. Ayrıca farklı sunucular üzerinde projeler geliştirmek ve yerel makinenizde bu ortamları çoğaltmak istiyorsanız .... Virtualenv python libs sabit bağlantılar oluşturur. Virtualenv'i kurmak ve oluşturmak için kullandığınız python sürümü ile gerçekten önemlidir.
zzart

6
Ya da benim gibiyseniz ve işte sudo imtiyazları olmayan kilitli bir makinedeyseniz. Kütüphanelerin yerel kopyaları, SQL veritabanları, diller ve derleyiciler bolca! Teşekkürler!
zachd1_618

4
Virtualenv 1.9.1 altında, kurulumun hatasız tamamlanması ~/.localpython/bin/virtualenvyerine kullanmak zorunda kaldım virtualenv. Ayrıca, source ve/bin/activateyerine kullanın source activate.
Saul

3
Bunu yapmanın bir başka nedeni, projelerinizin ve bağımlılıklarınızın bir şeyleri tıkayarak ve sarkan dosyaları her yerde bırakarak paket yönetiminizi kırma riski olmadan hala çalışmasını sağlamak için betaları denemektir. Bu cevabı beğendim.
RobotHumans

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

2
Ortam değişkenlerini kullanan eşdeğer bir çözüm için aşağıdaki cevabıma bakın. Bu yaklaşım, kullanmayı hatırlamak zorunda olmadığınız anlamına gelir -p.
Chris Johnson

5
Yeni bir sanal ortam oluşturmaya gerek kalmadan python sürümleri arasında geçiş yapan bir çözüm yok mu?
Charlie Parker

3
Sisteminizde yüklü olmayan bir python sürümü kurmak isterseniz bu işe yarar mı? Sınamak istediğinizi python3.6ancak python3.5bilgisayarınızda yüklü dokunmak istemediğinizi varsayalım ?
alpha_989

1
@ alpha_989 Bunun için bir çözüm buluyor musunuz?
Daniil Mashkin

97

Daha kolay bir yol var,

virtualenv venv --python=python2.7

Bir yorum sayesinde, bu yalnızca sistem düzeyinde python2.7 yüklüyse çalışır (örn. /Usr/bin/python2.7).

Aksi takdirde, homebrew kullanıyorsanız, size istediğinizi vermek için yolu kullanabilirsiniz.

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

Python kurulumunuzun yolunu

which python

Bu, python 3 ile de çalışacaktır.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

Sonunda yoğunlaşma:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`

1
FYI, yalnızca sistem düzeyinde python2.7 yüklüyse çalışır (örn. /Usr/bin/python2.7)
kingb12

Ben ile bunu başardı virtualenv venv --python=python3.6de
Ürdün

Aslında küçük sürüm numarasını bırakabilirsiniz. virtualenv env --python=python2
Anshul

Bu uygun bir çözümdür, tüm sürümlere sahip olduğunuzda, tam yolu değil takma adı kullanmakla ilgilenirsiniz
user1767754

: Windows'da bu küçük çimdik bir cazibe gibi çalıştı benim durumumda olduvirtualenv venv --python=<insert_your_python_version_here><insert_your_python_version_here>C:\Python\Python368\python.exe
abautista

70

Benim için Windows altında bu işe yarar:

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

python.exeBen var olmadan ben WindowsError: [Error 5] Access is denied sanalenv 1.6.1 yüklü Python2.7.1 var ve python 2.5.2 istedim.


32

Mac OSX 10.6.8 (Kar Leoparı):

1) Bunu yaptığınızda pip install virtualenv, pip komutu python sürümlerinizden biriyle ilişkilendirilir ve virtualenvbu python sürümüne yüklenir. Yapabilirsin

 $ which pip   

Python'un hangi sürümünü görmek için. Şöyle bir şey görürseniz:

 $ which pip
 /usr/local/bin/pip

o zaman yap:

$ 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

Çıktıda python sürümünü görebilirsiniz.

Varsayılan olarak, bu oluşturduğunuz herhangi bir yeni ortam için kullanılan python sürümü olacaktır. Ancak, bilgisayarınızda yüklü olan herhangi bir python sürümünü yeni bir ortamda kullanmak için belirtebilirsiniz -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 geçerli dizinde Python yürütülebilir dosyalarını içeren bir klasör ve diğer paketleri yüklemek için kullanabileceğiniz pip [komutunun] bir kopyasını oluşturur.

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

virtualenv python'u bilgisayarınızdaki bir konumdan yeni oluşturulan my_env / bin / dizinine kopyalar.

2) Sistem python'unda, /usr/binyüklediğim çeşitli python sürümleri varsayılan olarak:

 /usr/local/bin

3) Yüklediğim çeşitli pitonların python2.7veyapython3.2 ve bu isimleri tam yollar yerine kullanabilirim.

======== VIRTUALENVWRAPPER =========

1) Virtualenvwrapper'ı çalıştırmak için bazı sorunlar yaşadım. Ben koymak ne sonuçlandı ~/.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 ile farklı çalışır: Yeni ortamda kullanılacak python yorumlayıcısının tam yolunu belirtmeliyim (varsayılan python sürümünü kullanmak istemediğimde):

$ 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'in aksine, virtualenvwrapper, $ WORKON_HOME ortam değişkeni tarafından belirtilen konumda ortam oluşturur. Bu, tüm ortamlarınızı tek bir yerde tutar.


which pipbana Python sürümünü söylemiyor. Bana bunu veriyor- /usr/local/bin/pip.
Sankalp

@Sankalp, Eğer cd /usr/local/binyaparsanız ve yaparsanız $ ls -al pip, şöyle bir şey görmelisiniz: pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
7stud

Zaten cevapta biraz not edildi, ancak mkprojectbelirli bir python sürümünün hem proje dizinini hem de sanal ortamını oluşturmak istiyorsanız kullanılacak komut. mkproject -p /usr/bin/python3.6 myNewPython36Project
Jim Factor

22

Bu iki komut iyi çalışmalıdır.

virtualenv -p python2 myenv (Python2 için)

virtualenv -p python3 myenv (Python3 için)


1
-P python2 bayrağı / usr / bin / python2 aramaya eşdeğer çalışır. Kullanım: 2.7 vb. İçin virtualenv -p python2.7 myenv
Yash Sharma

21

Sanal uygulamanızda şu anda yüklü python 2.7 olduğunu varsayalım. Ancak, yararlanmak istiyorsanız python3.2, Bunu aşağıdakilerle güncellemeniz gerekir:

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

Daha sonra sanal arayüzünüzü şu şekilde etkinleştirin :

$ source activate name_of_your_virtualenv

ve sonra python --versionsürümünüzün güncellenip güncellenmediğini kontrol etmek için : kabukta yapın.


Ortam değişkenlerini kullanan eşdeğer bir çözüm için aşağıdaki cevabıma bakın. Bu yaklaşım, kullanmayı hatırlamak zorunda olmadığınız anlamına gelir -p.
Chris Johnson

13

İstediğiniz virtualenvpython sürümü ile arayabilirsiniz . Örneğin:

python3 -m virtualenv venv

Veya alternatif olarak doğrudan virtualenv yolunuzu işaret edin. örneğin pencereler için:

c:\Python34\Scripts\virtualenv.exe venv

Ve koşarak:

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

sanal ortamda kurulu python sürümünü görebilirsiniz


/ Usr / local / bin / python3 komutunu çalıştırırken bu hatayı aldım: virtualenv
tanvi

2
@tanvi: Önce python3'ünüze virtualenv kurmanız gerekiyor. pip3 install virtualenvÖnce koş
Nima Soroush

12

-pYaklaşım iyi çalışıyor, ancak her seferinde kullanmayı unutmayın zorunda. Amacınız genellikle Python'un daha yeni bir sürümüne geçmekse, bu bir acıdır ve hatalara da yol açabilir.

Diğer seçeneğiniz, aynı şeyi yapan bir ortam değişkeni ayarlamaktır -p. Bunu ~/.bashrcdosyanızla veya giriş oturumlarınız için ortam değişkenlerini yönettiğiniz her yerde ayarlayın :

export VIRTUALENV_PYTHON=/path/to/desired/version

Sonra virtualenvbunu -pkomut satırında belirtmediğiniz herhangi bir zamanda kullanır .


Bu güzel çalıştı. Bir fikrin neden ayarı export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/versionbaşına virtualenvwrapper docs işe yaramadı ancak bu çözüm işe yaradı mı?
YPCrumble

Bu env var, Python'un virtualenvwrapperçalışırken kullandığını kontrol eder , kurulumlarla ilgisi yoktur.
Chris Johnson

Bu benim için çalıştı. Artık her yeni bir sanal reklam oluşturduğumda -p kullanmak zorunda kalmıyorum. Teşekkürler!
nedblorf

7

Daha da kolay, sizin için python2 bulmak için komut yerine kullanarak:

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

Veya virtualenvwrapper kullanırken:

mkvirtualenv -p $(which python2) <env_name>


7

Mac (High Sierra) için, python3'e sanalenv'yi kurun ve python2 için bir sanalenv oluşturun:

 $ python3 -m pip install virtualenv
 $ python3 -m virtualenv --python=python2 vp27
 $ source vp27/bin/activate
 (vp27)$ python --version
 Python 2.7.14

1
Eğer yoksa, virtualenv'i python3'e kurun:python3 -m pip install virtualenv
Zihao Zhao

Çalışmıyor. Python versiyonum hala 3.
shivendra pratap singh

6

Mac'te pyenv ve virtualenvwrapper kullanıyorum. Yeni bir sanal reklam oluşturmak zorunda kaldım. Bir mac kullanıyorsanız, sadece eğlence için kurduğunuzu varsayacağım homebrew'a ihtiyacınız var:

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}

Ben de ilk önce benim gereksinimleri dondu böylece basitçe yeni virtualenv ile yeniden yüklemek olabilir:

pip install -r requirements.txt

Komut mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}sürüm değil sürüm olmalıdır. SO kısa düzenlemelere izin verdiyse, düzelttim.
Martin Burch

pyenvpyenv-virtualenveklenti aracılığıyla virtualenv desteği içerir , bu yüzden gerçekten virtualenvwrapper'a ihtiyacım olmadığını görüyorum. Pyenv cevabımda daha fazla ayrıntı .
RichVel

5

[Kasım 2019] Python 3.8 tabanlı Arch Linux sistemime bir Python 3.7 ortamı (env) kurmam gerekiyordu. Python 3.7 artık sistemde değildi, bu yüzden ihtiyacım olan bir paketi yüklemek için Python'u eski sürüme geçiremedim.

Ayrıca, bu paketi / Python 3.7'yi sanal bir ortamda (venv) kullanmak istedim. Ben böyle yaptım.


Python sürümü kaynak dosyalarını indirin:

Python 3.7.4 kaynak dosyalarını

https://www.python.org/downloads/source/

için

/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz

Daha sonra bu arşivi (kaynak dosyaları)

/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/


Kurulum:

[Not: benim sistemimde env, bir venv değil.]

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

Yüklü Python sürümlerini inceleyin:

$ 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

Belirli bir Python sürümü için venv nasıl oluşturulur:

https://docs.python.org/3/tutorial/venv.html

12.2. SANAL ORTAMLAR OLUŞTURMA

Sanal ortamlar oluşturmak ve yönetmek için kullanılan modül denir venv. venvgenellikle mevcut olan Python'un en son sürümünü yükler. Sisteminizde Python'un birden çok sürümü varsa, python3'ü veya istediğiniz sürümü çalıştırarak belirli bir Python sürümünü seçebilirsiniz.

Sanal ortam oluşturmak için, yerleştirmek istediğiniz dizine karar verin ve venv modülünü dizin yoluyla bir komut dosyası olarak çalıştırın:

python3 -m venv tutorial-env

Bu, tutorial-envyoksa dizini oluşturur ve içinde Python yorumlayıcısının, standart kütüphanenin ve çeşitli destek dosyalarının bir kopyasını içeren dizinler oluşturur. ...


Python 3.7 venv [bir Python 3.8 işletim env / sistemi üzerinde] oluşturun:

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)

Eklenme tarihi ~/.bashrc:

alias p37='echo "   [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'

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

1
Bu son derece kapsamlı bir cevap! :) Arch Linux'tan başka bir (örneğin Debian-ish) sisteme bir şey aktarmam gerektiğinde bu sorunla karşılaşıyorum.
Robbie Capps

1
@Victoria Stuart, çok teşekkür ederim. Tam da aradığım şey buydu.
daddyodevil

4

Linux için windows alt sisteminde:

  1. Python3 için ortam oluşturun:

    virtualenv --python=/usr/bin/python3 env
  2. Etkinleştir:

    source env/bin/activate

3

Pencerelerde:

py -3.4x32 -m venv venv34

veya

py -2.6.2 -m venv venv26

Bu sizin için doğru python çalıştırılabilir bulacaksınız pybaşlatıcı kullanır (yüklü varsayalım).


3

Evet , yukarıdaki cevaplar doğrudur ve Linux ve MAC OS X gibi Unix tabanlı sistemlerde iyi çalışır .

Aşağıdaki komutlarla Python2 ve Python3 için virtualenv oluşturmaya çalıştım .

İşte ben kullandım venv2 & venv3 için isimlerinin olarak Python2 & Python3 sırasıyla.

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 kurulum konumlarını kontrol etme

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$ 

2

Benim için çalıştı

sudo apt-get install python3-minimal

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

2

Python versiyonumu yönetmek için pyenv kullanıyorum.

pyenv install 3.7.3
pyenv local 3.7.3

Python sürümünüzü kontrol edin:

$ python --version
Python 3.7.3

Venv ile sanal ortamı oluşturun :

python -m venv .

Ardından Sanal Ortamı etkinleştirin:

source bin/activate

Python sürümünüzü kontrol edin:

$ python --version
Python 3.7.3

Önceki sanal ortamı kaldırmanız gerekebilir

rm -rf bin

2

Bunlar Windows için biraz fazla karmaşık görünüyor. Windows'da python 3.3 veya üstünü çalıştırıyorsanız, bunu pydaha kolay yapmak için python başlatıcıyı kullanabilirsiniz . Farklı python sürümünü yükleyin ve çalıştırın:

py -[my version] -m venv env

Bu, envpython kullanarak geçerli dizininizde çağrılan sanal bir ortam yaratacaktır [my version]. Örnek olarak:

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

Bu, envpython3.7 adı verilen sanal bir ortam oluşturur ve bu ortamı etkinleştirir. Yol veya başka karmaşık şeyler gerekmez.


Bunun py -3.7 -m venv envyerine olmamalı mı ( -meksik)?
sinoroc

Evet, yazıya sabitlendi !.
Cole Smith


1

2019'da Debian (debian 9) Sistemleri için, sorunu sanal ortamdan çözebilecek basit bir çözüm keşfettim.

Sanal ortamın şu yolla oluşturulduğunu varsayalım:

python3.7 -m venv myenv

ancak yalnızca python2vepython2.7 python3.7'nin son özelliklerine ihtiyacınız vardır.

Ardından, sadece komutu çalıştırın:

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

sisteminizde zaten mevcutsa python3.7 paketleri ekleyecektir.


1

Bu virtualenv ile ilgili bir hataydı. Sadece pip yükseltme düzeltmek olmalıdır.

pip install --upgrade virtualenv


1

Daha önce birden fazla cevapta belirtildiği gibi, virtualenv kullanımı temiz bir çözümdür. Bununla birlikte, herkesin bilmesi gereken küçük bir tuzak, python için bir takma ad bash_aliases gibi ayarlanmışsa :

python=python3.6

bu takma ad sanal ortamda da kullanılacaktır. Bu nedenle python -V, sanal 3.6ortamın içinde çalışan bu senaryoda , ortamı oluşturmak için kullanılan yorumlayıcıdan bağımsız olarak her zaman çıktı verilir :

virtualenv venv --python=pythonX.X

0

Python 2 kurulumlu pencerelerde benim için çalıştı:

  1. Adım 1: Python 3 sürümünü yükleyin.
  2. 2.Adım: Sanal ortam için bir env klasörü oluşturun.
  3. Adım 3: c: \ Python37 \ python -m venv c: \ yol \ ila \ env.

Mevcut python 2 kurulumumda Python 3 sanal ortamını bu şekilde yarattım.



0

Evet, sadece python'un diğer sürümünü yüklemeniz ve diğer python sürümünün konumunu komutunuzda tanımlamanız gerekir:

virtualenv / home / bordro / Belgeler / env -p / usr / bin / python3


0

Visual Studio Code klasöründe Sanal ortam oluşturmak için nasıl
adım adım : Powershell (Yönetici modu) kullandım: 1. Ben bir VSCode klasörü - Sanal ortam oluşturmak istediğiniz yerde "D: \ Code_Python_VE" oluşturun.
2. Sonra "pip3 install virtualenv" komutunu yazıyorum. (D: \ Code_Python_VE> pip3 sanal uygulamayı yükle) 3. D: \ Code_Python_VE> python3 -m venv project_env
4. D: \ Code_Python_VE> project_env \ Scripts
\ activ.bat 5. D: \ Code_Python_VE> ls - Bu yeni bir liste olacak "project_env" dizini.
6. D: \ Code_Python_VE> kodu. Bu, Visual Studio Code'u başlatacaktır. Komutun (kod) olduğundan emin olun.
7. Aşağıdaki içerikle launch.jason oluşturun:

{
    // 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"
        }
    ]
}

(Lütfen Hata Ayıklama penceresine nasıl gidileceğini araştırın ve VS Koduna yeni Yapılandırma Ekle).

  1. Visual studio kodunda F1 tuşuna bastığınızda komut paleti açılacaktır - Python Tercümanını seçin ve proje_tr sanal ortamını seçin.
  2. Bir deyim baskısı ("Merhaba Dünya") ile test.py dosyasını ekleyin.
  3. Bu programı çalıştırın.
  4. Visual studio Code terminalinde -
    (project_env) d: \ Code_Python_VE> python -m pip install --upgrade
    Umarım bu yardımcı olur.

-2

UBUNTU 19.04 / Global Python 3.7.

Bu benim için çalıştı, python 3 geliştirme için önerilen venv kullanarak bir Python 3.8 ortamı sağladı.

3.8 ve 3.8 venv modülünü takın

$ sudo apt install python3.8 python3.8-venv ## artı ihtiyacınız olan diğer modüller

Sanal Ortamınızı istediğiniz ortamdaki python sürümünü kullanarak oluşturun

$ /usr/bin/python3.8 -m venv python38-env

sanal ortamınıza geçin

$ source python38-env / bin / enable

python -V = python 3.8

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.