Питхон

Виртуелна окружења у Питхону 3

Виртуелна окружења у Питхону 3
Као и већина људи, мрзим да инсталирам непотребне пакете на своју радну станицу. Након што завршите с њима, деинсталирање их никада није довољно. Пакети остављају за собом тоне мапа и датотека. Потребни су им многи други (опскурни) пакети који су такође остављени након ствари. Полако, али сигурно се те ствари накупљају на вашој радној станици и иако можда неће ускратити ниједан значајан део простора на диску, могу изазвати друге проблеме.

Старије зависности

Старији пакети могу се задржати и ваш Питхон код ће их радо користити. Ово није проблем ако су ваше Питхон скрипте намењене локалном покретању, а не у индустријске сврхе. Научници података, студенти, па чак и редовни људи који аутоматизују своје свакодневне задатке могу једноставно наставити да користе старије пакете без већих проблема.

Проблем започиње када свој код отпремите у продукцију. Када то учините, шансе су да ћете послати само главну скрипту, а не све зависности пакета. На пример, ако сте написали микро услугу која ће се испоручивати као АВС Ламбда функција, првих неколико редова може увозити модул захтева попут овог:

захтев за увоз

Пакет захтева који је доставио АВС ламбда разликоваће се од вашег старијег па ће се програм можда срушити.

Сукоби

Сукоби могу такође доћи до слике када различити пројекти користе различите верзије истог пакета. Можда су неким старијим пројектима потребни старији пип пакети. Али можда ће вам требати новији пакет за друге пројекте. Покретање пип инсталл -У ће надоградити пакет на вашем ОС-у узрокујући проблеме када се вратите на одржавање старијих пројеката.

Питхон виртуелна окружења

Ако користите било коју верзију Питхона изнад 3.5, можете да користите уграђени модул назван венв да бисте креирали оно што се назива Питхон виртуелним окружењима. Оно што овај модул ради је стварање изоловане фасцикле или директоријума у ​​којем могу да живе сви ваши пип пакети и друге зависности. Фасцикла такође садржи скрипту за активирање. Кад год желите да користите одређено виртуелно окружење, једноставно покренете ову скрипту након чега се може приступити само пакетима који се налазе у овој фасцикли. Ако покренете пип инсталл, пакети ће бити инсталирани унутар ове фасцикле и нигде више. Након што завршите са коришћењем окружења, можете га једноставно 'деактивирати' и тада ће вам бити доступни само глобални пип пакети.

Ако користите Убунту 18.04 и новије верзије, не морате чак ни да инсталирате менаџер пакета пип на целом свом систему. Пип може постојати унутар вашег виртуелног окружења само ако вам је тако драже.

Инсталирање венв-а и стварање виртуелних окружења

Убунту 18.04 ЛТС долази из кутије са Питхон-ом 3.6.к, али Питхон венв модул није инсталиран, као ни пип. Инсталирајмо само венв.

$ апт инсталирајте питхон3-венв

Затим идемо у директоријум унутар којег желите да се креира ваш директоријум Виртуал Енвиронмент. За мене је то ~ / пројецт1

$ цд ~ / пројекат1

Креирајте свој венв помоћу следеће наредбе, имајте на уму да је ми-енв само име тог окружења, можете га именовати како год желите:

$ питхон3 -м венв ми-енв

Напомена: Неке инсталације Питхон3, попут оних доступних у оперативном систему Виндовс, позивате Питхон интерпретер користећи само питхон, а не питхон3, али то се мења од система до система. Ради доследности користићу само питхон3.

Након завршетка извршавања команде, приметићете нову фасциклу ~ / пројецт1 / ми-евн. Да бисте активирали виртуелно окружење ми-енв, мораћете:

  1. Трцати,
    $ соурце ~ / пројецт1 / ми-енв / бин / ацтивате ако користите Басх.
    Постоје алтернативне скрипте које се називају активирај.рибу и активирати.цсх за људе који користе рибу, односно цсх шкољке.
  2. На Виндовсу се скрипта може позвати покретањем:
    >.\ ми-енв \ Сцриптс \ ацтивате.шишмиш ако користите командну линију или,
    >.\ ми-енв \ Сцриптс \ ацтивате.пс1 ако користите ПоверСхелл.

Коришћење виртуелних окружења

Једном када успешно покренете скрипту, приметићете да се упит мења у нешто попут онога што је приказано у наставку, сада можете инсталирати пакете помоћу пип-а:

(ми-енв) $ пип3 захтеви за инсталацију
## Инсталиране пакете можемо навести помоћу команде 'пип фреезе'
(ми-енв) $ пип3 се замрзава
цертифи == 2018.10.15
цхардет == 3.0.4
идна == 2.7
пкг-ресурси == 0.0.0
захтева == 2.20.1
урллиб3 == 1.24.1

Све док је виртуелно окружење активно (као што је назначено упитом) сви пакети ће бити сачувани само у директоријуму виртуелног окружења (ми-енв), без обзира где се налазите у систему датотека.

Да бисте изашли из виртуелног окружења, у одзивник можете да откуцате „деактивирај“ и вратићете се коришћењу инсталације Питхон-а широм система. Можете приметити да нови пакети које смо управо инсталирали неће бити приказани у глобалној пип инсталацији.

Да бисте се решили виртуелног окружења, једноставно избришите директоријум ми-енв који је створен након покретања модула. Можете створити онолико окружења колико желите.

Закључак

Са венв модулом, виртуелна окружења су сада доступна као стандардна карактеристика Питхона, посебно ако инсталирате из Питхона.орг. Раније смо имали много имплементација независних произвођача под називом виртуаленв, пиенв итд.

То је довело до појаве све напуханијег софтвера попут Анацонде, посебно популарног међу научницима података. Добро је коначно имати поједностављени алат за управљање Питхон пакетима без потребе за инсталирањем пуно других неповезаних смећа. Више о венв можете прочитати овде.

Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...
Како појачати ФПС у Линуку?
ФПС је скраћеница за Фрејмова у секунди. Задатак ФПС-а је да мери брзину кадрова у репродукцијама видео записа или играчким перформансама. Једноставни...