Piton

Kako stvoriti i upravljati Python virtualnim okruženjima

Kako stvoriti i upravljati Python virtualnim okruženjima
Prilično je često vidjeti programere Pythona koji instaliraju i nadograđuju pakete iz standardnih i nestandardnih izvora za razvoj aplikacija. Razlozi mogu biti od korištenja novije verzije modula do korištenja određene verzije u slučaju da dođe do regresije.

Ovim zahtjevima i slučajevima upotrebe može se teško upravljati kada različite aplikacije zahtijevaju različite verzije iste knjižnice. Srećom, Python nudi robusno rješenje za izoliranje razvojnih okruženja pomoću virtualnih okruženja.

Što je Python virtualno okruženje?

Python virtualno okruženje je samostalno stablo direktorija koje sadrži određenu instalaciju Pythona zajedno sa svim svojim standardnim knjižnicama. Aplikacije koje zahtijevaju određenu verziju knjižnice mogu se izolirati u tim virtualnim okruženjima bez zagađivanja sustava ili drugih implementacija Pythona. Svako virtualno okruženje zaseban je pješčanik, tako da možete stvoriti onoliko virtualnih okruženja koliko želite.

Stvaranje i upravljanje virtualnim okruženjima

Da biste stvorili virtualna okruženja u Ubuntuu, prvo instalirajte potreban paket ovisnosti pokretanjem naredbe:

$ sudo apt instalirati python3-venv

Sada možete stvoriti virtualna okruženja pokretanjem naredbe:

$ python3 -m venv myenv

Pokretanjem gornje naredbe stvorit ćete virtualno okruženje nazvano "myenv" u vašem kućnom direktoriju. Ako želite koristiti bilo koju drugu verziju Pythona, gornji "python3" možete zamijeniti punim putem do mjesta vašeg alternativnog bitova Pythona.

Da biste aktivirali prethodno kreirano prilagođeno okruženje, pokrenite naredbu:

$ source myenv / bin / activate

Jednom kada se aktivira virtualno okruženje, prompt ljuske promijenit će se kako bi odražavao trenutno virtualno okruženje koje koristite. Ako pokrenete “sys.path ”naredba unutar Python interpretera, možete vidjeti da virtualno okruženje radi ispravno. Python će sada tražiti pakete unutar prilagođenog okruženja koje ste upravo stvorili.

Ako vaša obavijest o ljusci ne prikazuje ime virtualnog okruženja kao prefiks, bilo koja Python datoteka koju pokrenete upotrebljavat će sistemski Python. Dakle, potrebno je izvor virtualnog okruženja prije pokretanja datoteke u vašem prilagođenom okruženju.

Virtualno okruženje možete deaktivirati pokretanjem naredbe:

$ deaktivirati

Svako Python virtualno okruženje uključuje „pyvenv.cfg ”koja ima ključ“ include-system-site-paketi ”koji je prema zadanim postavkama postavljen na“ false ”. Ovaj ključ govori virtualnom okruženju hoće li koristiti sistemske web-pakete ili ne. Ako se postavi na "true", Python će u virtualnom okruženju pregledavati sistemske pakete u slučaju da paket nije pronađen u virtualnom okruženju. Također će sve instalirane pakete sustava uvesti u virtualno okruženje.

Da biste izbrisali virtualno okruženje, samo trebate izbrisati direktorij virtualnog okruženja i više neće biti.

Moguće je stvoriti i pohraniti virtualenv na vanjskim USB pogonima. Morat ćete imati USB pogon formatiran u datotečnom sustavu NTFS ili EXT. Datotečni sustav FAT32 ne podržava simboličke veze, što je uvjet za rad virtualnih okruženja.

Korištenje Pip Package Manager-a za instaliranje paketa unutar virtualnog okruženja

Unutar virtualnog okruženja možete koristiti upravitelj paketa pip za instaliranje, nadogradnju i deinstalaciju paketa. Moguće je nadograditi ili nadograditi paket navođenjem određenog broja verzije.

Paket možete instalirati pomoću pipa pokretanjem naredbe (zamijenite pygame željenim nazivom paketa):

$ pip instaliraj pygame

Spremište pip paketa koje je moguće pretraživati ​​možete pronaći ovdje.

Da biste deinstalirali paket, upotrijebite naredbu:

$ pip deinstaliraj pygame

Da biste vidjeli sve verzije paketa, pokrenite naredbu:

$ pip instaliraj pygame ==

Da biste smanjili ili nadogradili na određenu verziju, upotrijebite naredbu (zamijenite „1.9.5 "s vašim željenim brojem verzije):

$ pip instaliraj pygame == 1.9.5

Da biste nadogradili paket na najnoviju verziju, pokrenite naredbu:

$ pip install - nadogradnja pygame

Da biste vidjeli sve pakete instalirane u virtualnom okruženju, pokrenite naredbu:

$ pip lista

Da biste spremili popis instaliranih paketa unutar virtualenv, pokrenite naredbu:

$ pip zamrzavanje> zahtjevi.txt

Možete koristiti gore navedene „zahtjeve.txt ”datoteku za skupno instaliranje paketa. Jedan od slučajeva je dupliciranje postojećeg okruženja instaliranjem svih paketa od nule. Da biste skupno instalirali pip pakete, pokrenite naredbu:

$ pip install -r zahtjevi.txt

Korištenje Python virtualnih okruženja s ne-Python aplikacijama

Aplikacije napisane na drugim programskim jezicima mogu se zaštititi u zaštićenom okruženju u Python virtualnim okruženjima sve dok pip ili bilo koji drugi upravitelj paketa Python pruža binarne datoteke i pakete za ove zamjenske programske jezike / okvire.

Evo malog primjera koji objašnjava instaliranje Nodea.js u Python virtualnom okruženju. Izvedite sljedeće naredbe jednu po jednu:

$ python3 -m venv my_node_env
$ source my_node_env / bin / activate
$ pip kotačić za instalaciju
$ pip instalirati nodeenv
$ nodeenv -p
$ nodeenv --verzija
$ čvor --verzija

Kad završite, imat ćete potpuno izolirani Čvor.js okruženje. Za različiti Node možete stvoriti onoliko virtualnih okruženja koliko želite.js aplikacije. Paketi instalirani putem upravitelja paketa npm bit će ograničeni samo na aktivirano virtualno okruženje.

Zaključak

Stvaranje virtualnog okruženja Python izvrstan je način za sadržavanje razvojnih okruženja. Svako virtualno okruženje ima svoj Python binarni i svoj neovisni skup paketa. Razvoj višestrukih Python aplikacija na istom sustavu može brzo zagađivati ​​vaš dom i korijenski direktorij, a virtualno okruženje tako ih je lako održavati.

Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...