Python sanal ortamları, bağımlılık ve sürüm çakışmalarını önlemek için izole edilmiş python ortamları oluşturmak için kullanılır ve ayrıca dolaylı olarak izin sorunlarıyla da ilgilenir. Peki, Ubuntu’da kurmanın ve kullanmanın en kolay yolu nedir?
Python sanal ortamları, bağımlılık ve sürüm çakışmalarını önlemek için izole edilmiş python ortamları oluşturmak için kullanılır ve ayrıca dolaylı olarak izin sorunlarıyla da ilgilenir. Peki, Ubuntu’da kurmanın ve kullanmanın en kolay yolu nedir?
Yanıtlar:
virtualenvwrapper
(işlevselliği için kullanıcı dostu sarmalayıcılar virtualenv
)yükleme virtualenv
ile
sudo apt-get install virtualenv
(Ubuntu 14.04 (güvenilir) kurulum için python-virtualenv
)
Ayrıca virtualenvwrapper'ı yüklememizin nedeni, sanal ortamlarınızı yönetmek için hoş ve basit komutlar sunmasıdır . Yüklemenin iki yolu vardır virtualenvwrapper
:
Çalıştırmak
sudo apt install virtualenvwrapper
o zaman koş
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
Pip kurulumu ve / veya güncellemesi
Python 2 için pip yükleyin
sudo apt-get install python-pip
veya Python 3 için
sudo apt-get install python3-pip
(Python 3 kullanıyorsanız , bu kılavuzun geri kalan kısmı pip3
yerine kullanmanız gerekebilir pip
).
İsteğe bağlı (ancak önerilir): pip için bash autocomplete özelliğini açın
Çalıştırmak
pip completion --bash >> ~/.bashrc
ve source ~/.bashrc
etkinleştirmek için çalıştırın .
Virtualenvwrapper'ı yükleyin
Çünkü çıkmasını istiyoruzsudo pip
biz yüklemek virtualenvwrapper
(altında varsayılan olarak yerel olarak ~/.local
birlikte):
pip install --user virtualenvwrapper
ve
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
Sanalenvwrapper içinde kaynak .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
İlk önce WORKON_HOME
sanal ortamlarımızın depolanacağı dizini içeren değişkeni dışa aktarıyoruz. Bunu yapalım~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
şimdi de bu dizini oluştur
mkdir $WORKON_HOME
ve bu dışa aktarımı ~/.bashrc
dosyamıza ekleyin, böylece bu değişken otomatik olarak tanımlanır
echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc
Ayrıca , aşağıdaki gibi ekstra hileler de ekleyebiliriz ; bu, pip
fazladan sanal bir ortam oluşturması durumunda , WORKON_HOME
dizininize de yerleştirilmesini sağlar :
echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc
Kaynak ~ / .bashrc değişiklikleri yüklemek için
source ~/.bashrc
Çalışıp çalışmadığını test edin
Şimdi ilk sanal ortamımızı yaratıyoruz. -p
Argümanı kullanmak için Python sürümünü ayarlamak için kullanılır, isteğe bağlıdır; de olabilir; python3
örneğin.
mkvirtualenv -p python2.7 test
Ortamın kurulacağını göreceksiniz ve isteminiz şimdi etkin ortamınızın adını parantez içinde içeriyor. Ayrıca şimdi kaçarsan
python -c "import sys; print sys.path"
çok şey görmelisiniz, /home/user/.virtualenv/...
çünkü şimdi sistem site paketlerinizi kullanmıyor.
Çalıştırarak ortamınızı devre dışı bırakabilirsiniz.
deactivate
ve üzerinde tekrar çalışmak istiyorsanız, sadece yazın
workon test
Son olarak, ortamınızı silmek istiyorsanız, şunu yazın:
rmvirtualenv test
Keyfini çıkarın!
Bu blog yayınının yazarı için teşekkürler .
--no-site-packages
varsayılan ve --distribute
kullanımdan kaldırılmış
mkvirtualenv test
çalışmıyor, ayrıca bkz: stackoverflow.com/questions/15608236/...
Sanal ortamlar, proje bazında bağımlılıkları yönetmek ve izole etmek için bir yol sunar. Dahası, https://askubuntu.com/a/802594/15003 adresindesudo pip install
açıkladığım gibi, güvenlik riski olan tüm durumdan da kaçınırlar . Resmi Python belgeleri ayrıca sanal ortamların kullanımını da teşvik eder .
Hem Python 2 hem de Python 3 için sanal ortamlar oluşturmanın ve kullanmanın en kolay yolu, veya virtualenv
kullanarak yüklemektir . Her Python projesi için bir sanalenv oluşturun ve ardından etkinleştirin. Virtualenv'in belirli bir Python sürümüne özel olduğunu unutmayın. Etkinleştirmeden sonra, Python 2 veya 3 kullanıp kullanmadığınızdan bağımsız olarak Python paketlerini her zamanki gibi yükleyin; Python 3'ü kullanmaya gerek yoktur , sadece kurmak için kullanılır ve kullanılmaz , dolayısıyla yukarıda belirtilen güvenlik riskinden kaçınır. Bunu yapmak için komutlar:apt
apt-get
pip
pip3
sudo
virtualenv
pip
sudo apt update
sudo apt install virtualenv
cd ~/desired_directory # cd to desired_directory
virtualenv venv # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate # activate virtualenv
pip install -U pip # upgrade pip in case it is outdated
pip install desired_package # install desired_package
Python 3 için bir sanalenv oluşturmak istiyorsanız, virtualenv venv
bununla değiştirin :
virtualenv venv -p python3
İçin çeşitli çan ve ıslık hakkında daha fazlasını okuyun virtualenv
at https://virtualenv.pypa.io/en/stable/ .
source
beni bir çok komuttan kurtarıyor
Çok kolay, python-virtualenv'i yüklüyorsunuz . Sonra virtualenv
komut ile bir sanalenv oluşturabilirsiniz . Daha fazlası için belgelerine bakın .
Sanal ortamlar (venvler) o kadar popülerdir ki, işlevsellik şimdi pythonun içine dahil edilmiştir (3.3'ten itibaren). Ubuntu'da kullanmak için python3-venv
( ensurepip
modül mevcut olmadığından) yüklemeniz gerekir :
sudo apt-get install python3-venv
Bundan sonra kullanabilirsiniz
pyvenv myvirtualenv
adı verilen sanal bir ortam oluşturmak için myvirtualenv
. Sonra kullanabilirsiniz
source myvirtualenv/bin/activate
sanal ortamı etkinleştirmek için. Devre dışı bırakmak için sadece yazın
deactivate
DÜZENLEME:pyvenv
komut lehine önerilmemektedir olmuştur python3 -m venv
. Bu, hangi Python yorumlayıcısının pyvenv
bağlı olduğu ve dolayısıyla sanal ortamda hangi Python yorumlayıcısının kullanılacağı konusundaki karışıklığı önler . ( kaynak )
python-pip
vepython-virtualenv
Ubuntu repsitoryumu üzerinden kurulabilir, manuel kurulum gerektirmez.