Python

Урок за Python Virtualenv

Урок за Python Virtualenv
Главоболията при управлението на зависимостите са общи за разработчиците. Една грешна актуализация изисква часове изследвания, за да се коригира.  Често множество приложения се припокриват с изискванията за зависимост от библиотеката.  Това може да накара две приложения, работещи в една и съща среда, да изискват две версии на една и съща библиотека.  Този тип конфликти могат да предизвикат редица проблеми както в развитието, така и в производството.Въведете Virtualenv.  Virtualenv е инструмент, който създава силози за зависимост.  Позволява ви да разположите приложения в една среда с изолирани зависимости. Docker използва подобна стратегия на ниво ОС. Virtualenv се отделя само на ниво Python и библиотека - тоест изпълнимите среди и библиотеките на Python са уникални за тази виртуална среда.  Така че вместо да използвате библиотеките, инсталирани на ниво среда на ОС, можете да разделите версиите и библиотеките на Python в затворени виртуални среди.  Това ви позволява да разположите множество приложения в една и съща операционна среда с различни версии на едни и същи зависимости.

Инсталирайте Virtualenv

Инсталирането на Virtualenv е направо напред. Използвайки pip, можете да изпълните командата по-долу от терминала.

$ pip инсталира virtualenv

Като алтернатива, ако използвате Anaconda, вместо това ще трябва да използвате командата по-долу.

$ conda инсталира virtualenv

Изходът на терминала ви трябва да изглежда подобно на долупосочения.

Bradleys-Mini: ~ BradleyPatton $ pip инсталира virtualenv
Събиране на virtualenv
Изтегляне на virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
100% | ████████████████████████████████ | 1.8MB 267kB / s
Инсталиране на събрани пакети: virtualenv
Успешно инсталиран virtualenv-15.1.0
Bradleys-Mini: ~ BradleyPatton $

Създайте среда

Virtualenv има една основна команда. Редът по-долу, изпълнен от терминала, ще създаде нов „силоз“ или виртуална среда на Python в директорията с уроци.

$ virtualenv Урок

След изпълнението трябва да получите някои терминални резултати, както по-долу.

Bradleys-Mini: Пакети за сайтове BradleyPatton $ virtualenv Урок
Презапис / Потребители / BradleyPatton / anaconda / lib / python2.7 / сайт-
пакети / Урок / lib / python2.7 / orig-префикс.txt с ново съдържание
Нов изпълним файл на python в / Users / BradleyPatton / anaconda / lib / python2.7 / сайт-
пакети / Урок / bin / python
копиране / Users / BradleyPatton / anaconda / bin / python =>
/ Потребители / BradleyPatton / anaconda / lib / python2.7 / site-пакети / Урок / bin / python
копиране / Потребители / BradleyPatton / anaconda / bin /… / lib / libpython2.7.dylib =>
/ Потребители / BradleyPatton / anaconda / lib / python2.7 / сайт-пакети / Урок / lib /
libpython2.7.дилиб
Инсталиране на setuptools, pip, колело ... готово.

Командата virtualenv ще изгради структура на директория, включваща двоична библиотека, и ще включи директория за новата виртуална среда, която е създадена.

Bradleys-Mini: Урок BradleyPatton $ ls
bin lib
включва pip-selfcheck.json
Bradleys-Mini: Урок BradleyPatton $

/ кошче съдържа вашите изпълними файлове, най-вече Python и pip.

Bradleys-Mini: bin BradleyPatton $ ls
активирайте easy_install-2.7 python-config
активирате.csh pip python2
активирате.риба pip2 python2.7
активирайте_ това.py pip2.7 колело
easy_install python
Bradleys-Mini: bin BradleyPatton $

The / lib и / включва директориите включват поддържащи файлове за Python и приложението, което ще бъде разработено.

Активирайте Virtualenv

Скриптът за активиране актуализира пътя ви, така че да можете да използвате тази виртуална среда, без да се налага да навигирате до директорията. Това го прави малко по-лесен за използване, но може да бъде пропуснат, ако сте терминален нинджа и нямате нищо против ключовите удари.

В / кошче в директорията има активиран BASH скрипт. Можете да изпълните изпълнението по-долу.

$ ./активирате

Ако забележите от моето бъркане по-долу, че трябваше да променя разрешението на файла за изпълнение. Използвах CHMOD 700 активиране команда за актуализиране на разрешенията. Може да се наложи да направите тази актуализация, преди да стартирате скрипта за активиране.

Bradleys-Mini: bin BradleyPatton $ ls
активирайте easy_install-2.7 python-config
активирате.csh pip python2
активирате.риба pip2 python2.7
активирайте_ това.py pip2.7 колело
easy_install python
Bradleys-Mini: bin BradleyPatton $ ./активирате
-баш: ./ активиране: Разрешението е отказано
Bradleys-Mini: bin BradleyPatton $ sudo ./активирате
Парола:
sudo: ./ активиране: командата не е намерена
Bradleys-Mini: bin BradleyPatton $ chmod 700 активиране
Bradleys-Mini: bin BradleyPatton $ ./активирате
Bradleys-Mini: bin BradleyPatton $

Деактивирайте Virtualenv

За да отмените промените на променливата на околната среда, направени чрез активиране, изпълнете следната команда от терминала. Това ще върне промените в пътя ви, каквито никога не са се случвали. Толкова е просто.

$ деактивира

Премахване на среда

Премахването на виртуална среда е толкова просто, колкото rm. Просто напишете следното, за да премахнете директорията и рекурсивно нейното съдържание.

$ rm -r Урок за премахване

Сега какво

Е, сега трябва да инсталирате библиотеките и приложението си в новата виртуална среда.  Pip улеснява извличането на вашите библиотеки.

Няма да навлизам в тънкостите на pip, някои от които можете да намерите тук, но ще демонстрирам една инсталация на pip.

$ pip install pandas (Урок) Bradleys-Mini: bin BradleyPatton $ pip install pandas
Събиране на панди
Използване на кеширани pandas-0.22.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Събиране на numpy> = 1.9.0 (от панди)
Използване на кеширан numpy-1.14.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Събиране на python-dateutil (от панди)
Използване на кеширан python_dateutil-2.6.1-py2.py3-none-any.whl
Събиране на pytz> = 2011k (от панди)
Използване на кеширан pytz-2017.3-py2.py3-none-any.whl
Събиране на шест> = 1.5 (от python-dateutil-> pandas)
Използване на кеширани шест-1.11.0-py2.py3-none-any.whl
Инсталиране на събрани пакети: numpy, шест, python-dateutil, pytz, pandas
Успешно инсталиран numpy-1.14.0 панди-0.22.0
python-dateutil-2.6.1 pytz-2017.3 шест-1.11.0
(Урок) Bradleys-Mini: bin BradleyPatton $

Следващата команда ще отвори команден ред на интерпретатор на Python.  Ще импортирам новата ни библиотека за панди и ще проверя версията. Версия 19 е моята глобална версия на панди, но както виждате от изхода на терминала, версията, използвана в нашия урок за виртуална среда е 22.

$ python (Урок) Bradleys-Mini: bin BradleyPatton $ python
Python 2.7.13 | Continuum Analytics, Inc.| (по подразбиране, 20 декември 2016 г., 23:05:08)
[GCC 4.2.1 Съвместим Apple LLVM 6.0 (clang-600.0.57)] на Дарвин
Напишете "помощ", "авторско право", "кредити" или "лиценз" за повече информация.
Anaconda ви се предоставя от Continuum Analytics.
Моля, разгледайте: http: // continuum.io / благодаря и https: // anaconda.орг
>>> импортиране на панди
>>> панди.__версия__
u'0.22.0 '
>>>

Този урок трябва да ви даде начало с Virtualenv.  Добавих връзката към страницата Virtualenv, която може да помогне с някои по-дълбоки конфигурации, използвайки параметри и конфигурационни настройки, които могат да се използват при специални обстоятелства.

Препратки

https: // virtualenv.pypa.io / en / стабилен

Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...