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 virtualenvile
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ı pip3yerine 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 ~/.bashrcetkinleş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 ~/.localbirlikte):
pip install --user virtualenvwrapper
ve
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrcSanalenvwrapper içinde kaynak .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrcİlk önce WORKON_HOMEsanal 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ı ~/.bashrcdosyamı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, pipfazladan sanal bir ortam oluşturması durumunda , WORKON_HOMEdizininize 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. -pArgü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-packagesvarsayılan ve --distributekullanı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 virtualenvkullanarak 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:aptapt-getpippip3sudovirtualenvpip
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 venvbununla değiştirin :
virtualenv venv -p python3
İçin çeşitli çan ve ıslık hakkında daha fazlasını okuyun virtualenvat https://virtualenv.pypa.io/en/stable/ .
sourcebeni bir çok komuttan kurtarıyor
Çok kolay, python-virtualenv'i yüklüyorsunuz . Sonra virtualenvkomut 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( ensurepipmodü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 pyvenvbağlı olduğu ve dolayısıyla sanal ortamda hangi Python yorumlayıcısının kullanılacağı konusundaki karışıklığı önler . ( kaynak )
python-pipvepython-virtualenvUbuntu repsitoryumu üzerinden kurulabilir, manuel kurulum gerektirmez.