Python 3 sanal ortamı oluşturma


13

python3-virtualenvResmi Ubuntu paketini kullanarak Lubuntu 15.1 üzerine yükledim apt-get install python3-virtualenv. Resmi belgeler basit olduğunu gösterir virtualenv .benim proje dizininde venv oluşturmak için yeterli olmalıdır. Bu hiçbir şey yapmaz, çünkü which virtualenvhiçbir şey yapmaz. (Hiçbir şey which python-virtualenvve which python3-virtualenvayrıca).

Paket bilgileri, yüklendikten sonra yüklendiğini söylüyor, bu /usr/lib/python3/dist-packages/virtualenv.pyyüzden bunu python3 altında çağırıyorum. Bana bunu verir:

$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.

Evet, baktığımda, ./bin içindeki her şey python2. Ubuntu'nun python3-virtualenv python2 için bir kukla paket mi?

Resmi python belgeleri farklı bir paket kullandığını söylüyor: python3-venv . Ben dizinde pyvenv .python3 malzeme ile , ben bu işe yarıyor gibi görünüyor ./bin.

Nasıl başarılı bir şekilde bir Python 3 virtualenv oluşturabilirim?


Debian'da bu davranışı değiştiren yama. salsa.debian.org/python-team/modules/python-virtualenv/blob/… Keşke bu yama eklendiğinde kullanılan düşünce sürecini anlasaydım.
Winny

Yanıtlar:


24

venvsanal envs oluşturmak için bir kolaylık komut dosyasıdır, ancak her şeyi virtualenvyapabileceğiniz tamamen yerini almaz . Her ikisini de kullanmak çoğu durumda iyidir. virtualenvkullanılmıyor.

python3 -m venvpython3-venvDebian temel Python paketinden bazı komut dosyaları çıkarır, çünkü yükledikten sonra çalışır . python3-virtualenvkoymuyor virtualenvnedenden dolayı yolda senaryo, ama python-virtualenvyapar ve her iki versiyonu için ceza çalışacaktır.

Hangi sürümün virtualenvyüklü olduğu önemli değildir , herhangi bir yüklü sürüm için envs üretebilir -p pythonX(X, sürümdür). venv, daha basit olması, yalnızca çalıştırıldığı sürümün env'lerini oluşturur ve yalnızca 3.3'ten beri kullanılabilir.

$ sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate
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.