Почетак рада са виртуелним окружењима у Питхон-у

У овом чланку ћете научити како да почнете са виртуелним окружењима у Питхон-у, у Виндовс и Линук оперативним системима.

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

Да бисмо искористили предности виртуелних окружења у Питхон-у, научимо да креирамо и активирамо виртуелна окружења. 👩🏽‍💻

Шта су виртуелна окружења?

Виртуелна окружења су изолована и независна окружења која садрже код и зависности пројекта.

Али зашто бисте користили виртуелна окружења?

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

Инсталирање пакета у Питхон-у

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

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

Да бисте инсталирали и управљали овим пакетима, можете користити цонда или пип.

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

Па зашто је ово проблем?

Па, можда имате Н пакета у свом развојном окружењу. Међутим, пројекат на којем тренутно радите може захтевати само 3 од њих. Када сви ваши пројекти деле заједничке инсталације, веома је тешко идентификовати који од пројеката захтева који од инсталираних пакета – зависности повезане са сваким пројектом.

  Да ли Ниња фритеза има дугме за ресетовање?

Постоји још једно ограничење за овај приступ. Претпоставимо да имате Дјанго 2.2 пројекат у библиотеци пројеката. Одлучујете да почнете да радите на пројекту који користи Дјанго 4. Дакле, инсталирате најновију верзију Дјанга у истом развојном окружењу.

Шта се дешава са постојећом инсталацијом?

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

Сумирајући нашу досадашњу дискусију: управљање зависношћу постаје тешко када су сви пакети инсталирани у заједничком окружењу јер пројекти захтевају сопствени скуп библиотека за покретање.

Како функционишу виртуелна окружења

До сада смо видели изазове повезане са инсталирањем пакета у глобалном развојном окружењу (инсталације широм система). Ово нас мотивише да разумемо како виртуелна окружења решавају ово ограничење.

Када креирате и активирате виртуелно окружење за своје Питхон пројекте, можете инсталирати само оне пакете који су потребни за тренутни пројекат.

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

У суштини: виртуелна окружења су изолована окружења која садрже и код и зависности за пројекат.

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

Сада када сте научили како виртуелна окружења функционишу у Питхон-у, хајде да набројимо предности њиховог коришћења:

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

До сада сте научили како виртуелна окружења функционишу и предности њиховог коришћења. Хајде да истражимо неке популарне алатке које можете користити за креирање и управљање виртуелним окружењима у Питхон-у.

#1. Виртуаленв

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

  Колико вреде ваши лични подаци на Дарк Вебу?

#2. Пипенв

Уз пипнев, имате и функционалност виртуелног окружења виртуаленв и могућности управљања пакетима пип-а. Користи управљане пип фајловима за управљање зависностима пројекта унутар виртуелног окружења.

Пипенв можете испробати директно из претраживача на овом Пипенв игралишту.

#3. Цонда

Ако користите Анацонда дистрибуцију Питхон-а за развој, онда можете користити цонда за управљање пакетима и за креирање виртуелних окружења.

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

#4. Поезија

Поетри је алатка за управљање пакетима која вам омогућава да управљате зависностима у свим Питхон пројектима. Да бисте почели да користите Поетри, морате да имате инсталиран Питхон 3.7 или новију верзију.

#5. Венв

Као што је поменуто, венв нуди подскуп функционалности виртуаленв-а, али има предност што је уграђен у стандардну библиотеку Питхон-а, почевши од Питхон-а 3.3.

Лако је доступан уз Питхон инсталацију—и не захтева инсталацију спољних пакета. Користићемо га у овом водичу за креирање и рад са виртуелним окружењима. ✅

Како направити Питхон виртуелно окружење у Убунту-у

💬 Да бисте пратили остатак овог упутства, потребно је да имате локалну инсталацију Питхон-а 3. Уверите се да користите Питхон 3.5 или новију верзију.

Овај одељак описује кораке за креирање и активирање виртуелних окружења на Убунту Линук машини. Исти кораци се могу користити и на другим Линук дистрибуцијама.

Ради лакшег управљања, направимо директоријум пројекта и цд у њега; Направићемо венв унутар овог директоријума.

$ mkdir my_project
$ cd my_project

Општа синтакса за креирање виртуелног окружења за ваш Питхон пројекат је питхон3 -м венв <венв-наме-ор-патх>. Након покретања ове команде, виртуелно окружење под називом ми_енв биће креирано у тренутном радном директоријуму:

$ python3 -m venv my_env

Како активирати и инсталирати пакете унутар виртуелног окружења

Након што сте креирали виртуелно окружење, можете га активирати и инсталирати потребне пакете у њега. Да бисте активирали виртуелно окружење, можете покренути следећу команду:

$ source my_env/bin/activate

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

$ pip list

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

  Како додати слике на ТикТок видео без пројекције слајдова

Инсталација пип-а унутар виртуелног окружења омогућава вам да инсталирате пакете потребне за одређени пројекат; због тога имате независно развојно окружење за сваки пројекат.

Сада када сте активирали виртуелно окружење, можете да инсталирате пакете специфичне за пројекат користећи пип. Као пример, хајде да инсталирамо Питхон захтеве, један од најчешће преузиманих Питхон пакета, који пружа неколико корисних функција за слање ХТТП захтева за рад са веб АПИ-јима.

$ pip install requests

Када инсталирате библиотеку захтева, видећете да се библиотека захтева инсталира заједно са свим пакетима који су јој потребни.

$ pip list

Можете користити команду пип фреезе и преусмерити излаз на датотеку рекуирементс.ткт, као што је приказано:

$ pip freeze > requirements.txt

Ако прегледате садржај тренутног директоријума пројекта, видећете да је датотека рекуирементс.ткт креирана.

$ ls
# my_env requirements.txt

Можете да деактивирате виртуелно окружење након што сте радили на пројекту тако што ћете покренути следећу команду:

$ deactivate

Како направити Питхон виртуелно окружење у Виндовс-у

Генерално, Линук окружење је пожељно за развој. Ако користите Виндовс машину, можете размислити о коришћењу Виндовс подсистема за Линук (ВСЛ) да бисте подесили Убунту терминалско окружење за локални развој.

Ако сте на Виндовс машини, можете користити Виндовс ПоверСхелл или командну линију и креирати виртуелна окружења помоћу следеће команде:

> python -m venv <path-to-venv>

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

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

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

> <path-to-venv>Scriptsactivate.bat

Алтернативно, ако користите Виндовс ПоверСхелл, покретање ове команде ће активирати виртуелно окружење:

> <path-to-venv>ScriptsActivate.ps1

Можете инсталирати све потребне пакете унутар виртуелног окружења.

Да бисте деактивирали виртуелна окружења, можете покренути команду за деактивирање — и на командној линији и на Виндовс ПоверСхелл-у.

Закључак

У овом чланку смо разговарали о ограничењима инсталација на нивоу система и о томе како оне отежавају управљање зависностима у Питхон пројектима. Виртуелна окружења у Питхон-у обезбеђују начин за боље управљање зависностима док обезбеђују изоловано развојно окружење за појединачне пројекте.

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

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

Када започнете свој следећи Питхон пројекат, обавезно користите виртуелна окружења за боље управљање зависношћу. Срећно кодирање!🎉