Старије зависности
Старији пакети могу се задржати и ваш Питхон код ће их радо користити. Ово није проблем ако су ваше Питхон скрипте намењене локалном покретању, а не у индустријске сврхе. Научници података, студенти, па чак и редовни људи који аутоматизују своје свакодневне задатке могу једноставно наставити да користе старије пакете без већих проблема.
Проблем започиње када свој код отпремите у продукцију. Када то учините, шансе су да ћете послати само главну скрипту, а не све зависности пакета. На пример, ако сте написали микро услугу која ће се испоручивати као АВС Ламбда функција, првих неколико редова може увозити модул захтева попут овог:
захтев за увозПакет захтева који је доставио АВС ламбда разликоваће се од вашег старијег па ће се програм можда срушити.
Сукоби
Сукоби могу такође доћи до слике када различити пројекти користе различите верзије истог пакета. Можда су неким старијим пројектима потребни старији пип пакети. Али можда ће вам требати новији пакет за друге пројекте. Покретање пип инсталл -У
Питхон виртуелна окружења
Ако користите било коју верзију Питхона изнад 3.5, можете да користите уграђени модул назван венв да бисте креирали оно што се назива Питхон виртуелним окружењима. Оно што овај модул ради је стварање изоловане фасцикле или директоријума у којем могу да живе сви ваши пип пакети и друге зависности. Фасцикла такође садржи скрипту за активирање. Кад год желите да користите одређено виртуелно окружење, једноставно покренете ову скрипту након чега се може приступити само пакетима који се налазе у овој фасцикли. Ако покренете пип инсталл, пакети ће бити инсталирани унутар ове фасцикле и нигде више. Након што завршите са коришћењем окружења, можете га једноставно 'деактивирати' и тада ће вам бити доступни само глобални пип пакети.
Ако користите Убунту 18.04 и новије верзије, не морате чак ни да инсталирате менаџер пакета пип на целом свом систему. Пип може постојати унутар вашег виртуелног окружења само ако вам је тако драже.
Инсталирање венв-а и стварање виртуелних окружења
Убунту 18.04 ЛТС долази из кутије са Питхон-ом 3.6.к, али Питхон венв модул није инсталиран, као ни пип. Инсталирајмо само венв.
$ апт инсталирајте питхон3-венвЗатим идемо у директоријум унутар којег желите да се креира ваш директоријум Виртуал Енвиронмент. За мене је то ~ / пројецт1
$ цд ~ / пројекат1Креирајте свој венв помоћу следеће наредбе, имајте на уму да је ми-енв само име тог окружења, можете га именовати како год желите:
$ питхон3 -м венв ми-енвНапомена: Неке инсталације Питхон3, попут оних доступних у оперативном систему Виндовс, позивате Питхон интерпретер користећи само питхон, а не питхон3, али то се мења од система до система. Ради доследности користићу само питхон3.
Након завршетка извршавања команде, приметићете нову фасциклу ~ / пројецт1 / ми-евн. Да бисте активирали виртуелно окружење ми-енв, мораћете:
- Трцати,
$ соурце ~ / пројецт1 / ми-енв / бин / ацтивате
ако користите Басх.
Постоје алтернативне скрипте које се називају активирај.рибу и активирати.цсх за људе који користе рибу, односно цсх шкољке. - На Виндовсу се скрипта може позвати покретањем:
>.\ ми-енв \ Сцриптс \ ацтивате.шишмиш
ако користите командну линију или,>.\ ми-енв \ Сцриптс \ ацтивате.пс1
ако користите ПоверСхелл.
Коришћење виртуелних окружења
Једном када успешно покренете скрипту, приметићете да се упит мења у нешто попут онога што је приказано у наставку, сада можете инсталирати пакете помоћу пип-а:
(ми-енв) $ пип3 захтеви за инсталацију## Инсталиране пакете можемо навести помоћу команде 'пип фреезе'
(ми-енв) $ пип3 се замрзава
цертифи == 2018.10.15
цхардет == 3.0.4
идна == 2.7
пкг-ресурси == 0.0.0
захтева == 2.20.1
урллиб3 == 1.24.1
Све док је виртуелно окружење активно (као што је назначено упитом) сви пакети ће бити сачувани само у директоријуму виртуелног окружења (ми-енв), без обзира где се налазите у систему датотека.
Да бисте изашли из виртуелног окружења, у одзивник можете да откуцате „деактивирај“ и вратићете се коришћењу инсталације Питхон-а широм система. Можете приметити да нови пакети које смо управо инсталирали неће бити приказани у глобалној пип инсталацији.
Да бисте се решили виртуелног окружења, једноставно избришите директоријум ми-енв који је створен након покретања модула. Можете створити онолико окружења колико желите.
Закључак
Са венв модулом, виртуелна окружења су сада доступна као стандардна карактеристика Питхона, посебно ако инсталирате из Питхона.орг. Раније смо имали много имплементација независних произвођача под називом виртуаленв, пиенв итд.
То је довело до појаве све напуханијег софтвера попут Анацонде, посебно популарног међу научницима података. Добро је коначно имати поједностављени алат за управљање Питхон пакетима без потребе за инсталирањем пуно других неповезаних смећа. Више о венв можете прочитати овде.