Bu gereksinimler ve kullanım durumları, farklı uygulamalar aynı kitaplığın farklı sürümlerini gerektirdiğinde yönetilmesi zor olabilir. Neyse ki Python, sanal ortamları kullanarak geliştirme ortamlarını izole etmek için sağlam bir çözüm sunar.
Python Sanal Ortamı Nedir??
Python sanal ortamı, tüm standart kitaplıklarıyla birlikte belirli bir Python kurulumunu içeren bağımsız bir dizin ağacıdır. Belirli bir kitaplık sürümü gerektiren uygulamalar, sistemi veya diğer Python uygulamalarını kirletmeden bu sanal ortamlarda izole edilebilir. Her sanal ortam ayrı bir sanal alan olduğundan istediğiniz kadar sanal ortam oluşturabilirsiniz.
Sanal Ortamlar Oluşturma ve Yönetme
Ubuntu'da sanal ortamlar oluşturmak için önce aşağıdaki komutu çalıştırarak gerekli bağımlılık paketini kurun:
$ sudo apt kurulumu python3-venvArtık şu komutu çalıştırarak sanal ortamlar oluşturabilirsiniz:
$ python3 -m venv myenvYukarıdaki komutu çalıştırmak, ana dizininizde “myenv” adında bir sanal ortam yaratacaktır. Python'un başka bir sürümünü kullanmak istiyorsanız, yukarıdaki "python3" yerine alternatif Python ikili dosyanızın tam yolunu kullanabilirsiniz.
Yukarıda oluşturulan özel ortamı etkinleştirmek için şu komutu çalıştırın:
$ kaynak myenv/bin/etkinleştirSanal ortam etkinleştirildiğinde, kabuk istemi, kullandığınız mevcut sanal ortamı yansıtacak şekilde değişecektir. "sys" çalıştırırsanız.path ”komutunun içindeki Python yorumlayıcısı, sanal ortamın düzgün çalıştığını görebilirsiniz. Python şimdi oluşturduğunuz özel ortam içindeki paketleri arayacaktır.
Kabuk isteminiz sanal ortamın adını önek olarak göstermiyorsa, çalıştırdığınız herhangi bir Python dosyası bunun yerine sistem Python'u kullanır. Bu nedenle, özel ortamınızda bir dosya çalıştırmadan önce sanal ortamı kaynaklamak gerekir.
Komutu çalıştırarak sanal bir ortamı devre dışı bırakabilirsiniz:
$ devre dışı bırakHer Python sanal ortamı bir "pyvenv" içerir.Varsayılan olarak "false" olarak ayarlanmış bir "include-system-site-packages" anahtarına sahip cfg" dosyası. Bu anahtar, sanal ortama sistem site paketlerinin kullanılıp kullanılmayacağını söyler. "true" olarak ayarlanırsa, sanal ortamda Python, sanal ortamda bir paket bulunamaması durumunda sistem paketlerine bakar. Ayrıca, sistemde kurulu tüm paketleri sanal ortam içinde içe aktarılabilir hale getirecektir.
Bir sanal ortamı silmek için sanal ortam dizinini silmeniz yeterlidir ve silinecektir.
Virtualenv'i harici USB sürücülerinde oluşturmak ve depolamak mümkündür. NTFS veya EXT dosya sisteminde biçimlendirilmiş USB sürücünüz olması gerekir. FAT32 dosya sistemi, sanal ortamların çalışması için gerekli olan sembolik bağlantıları desteklemiyor.
Paketleri Sanal Ortamda Kurmak için Pip Paket Yöneticisini Kullanma
Sanal bir ortamda, paketleri kurmak, yükseltmek ve kaldırmak için pip paket yöneticisini kullanabilirsiniz. Belirli bir sürüm numarası belirterek bir paketi düşürmek veya yükseltmek mümkündür.
Komutu çalıştırarak pip kullanarak bir paket yükleyebilirsiniz (pygame'i istediğiniz paket adıyla değiştirin):
$ pip kurulum pygame
Aranabilir bir pip paketleri deposu burada bulunabilir.
Bir paketi kaldırmak için şu komutu kullanın:
$ pip kaldırma pygame
Bir paketin tüm sürümlerini görmek için şu komutu çalıştırın:
$ pip kurulum pygame==
Belirli bir sürüme düşürmek veya yükseltmek için komutu kullanın ("1.9.5”, istediğiniz sürüm numarası ile):
$ pip kurulum pygame==1.9.5
Bir paketi en yeni sürüme yükseltmek için şu komutu çalıştırın:
$ pip kurulumu --upgrade pygame
Sanal ortamda kurulu tüm paketleri görmek için şu komutu çalıştırın:
$ pip listesi
Virtualenv içinde kurulu paketlerin bir listesini kaydetmek için şu komutu çalıştırın:
$ pip dondurma > gereksinimler.TxtYukarıdaki "gereksinimleri" kullanabilirsiniz.paketleri toplu olarak kurmak için txt” dosyası. Bir kullanım durumu, tüm paketleri sıfırdan kurarak mevcut bir ortamı çoğaltmaktır. Pip paketlerini toplu olarak kurmak için şu komutu çalıştırın:
$ pip kurulum -r gereksinimleri.TxtPython Sanal Ortamlarını Python Dışı Uygulamalarla Kullanma
Diğer programlama dillerinde yazılmış uygulamalar, pip veya başka herhangi bir Python paket yöneticisi bu alternatif programlama dilleri/çerçeveleri için ikili dosyalar ve paketler sağladığı sürece Python sanal ortamlarında korumalı alana alınabilir.
Düğümün kurulumunu açıklayan küçük bir örnek.Python sanal ortamında js. Aşağıdaki komutları tek tek çalıştırın:
$ python3 -m venv my_node_env$ kaynak my_node_env/bin/activate
$ pip yükleme tekerleği
$ pip kurulum düğümü
$ düğümü -p
$ düğümü --versiyon
$ düğümü --versiyon
Tamamlandığında, tamamen izole edilmiş bir Düğümünüz olacak.js ortamı. Farklı Düğümler için istediğiniz kadar sanal ortam oluşturabilirsiniz.js uygulamaları. npm paket yöneticisi aracılığıyla kurulan paketler yalnızca etkinleştirilmiş sanal ortamla sınırlandırılacaktır.
Sonuç
Python sanal ortamı oluşturmak, geliştirme ortamlarını kapsayıcı hale getirmenin mükemmel bir yoludur. Her sanal ortamın kendi Python ikili dosyası ve kendi bağımsız paketleri vardır. Aynı sistem üzerinde birden fazla Python uygulaması geliştirmek, ev ve kök dizininizi hızla kirletebilir ve sanal ortamlar, bunların bakımını çok kolay hale getirir.