Как да инсталирате Python по интелигентен начин

Python е лесен за използване, приятелски настроен към начинаещия и достатъчно мощен, за да създаде стабилен софтуер за почти всяко приложение. Но това все още е софтуер като всеки друг, което означава, че може да бъде сложен за настройка и управление.

В тази статия ще разгледаме как да настроим правилния начин на Python: как да изберем подходящата версия, как да предотвратим стъпването на множество версии и как да избегнем всички останали остри ръбове и потенциални клопки по начин.

Изберете правилната версия и разпространение на Python

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

По време на това писане Python 3.8.1 е най-актуалната версия. Тогава сигурният залог е да се използва последната актуализация на Python 3.7 (в този случай Python 3.7.6). Винаги можете да изпробвате най-новата версия на Python по контролиран начин - например във виртуална машина или тестова машина, но връщането на една версия обратно гарантира най-добрата съвместимост с обикновените пакети на Python на трети страни.

Python също се предлага в различни дистрибуции, по същия начин, както Linux. За разлика от Linux обаче, Python предлага едно златно стандартно „официално“ издание, на което винаги можете да се върнете: CPython, версията, предоставена от Фондацията за софтуер на Python на python.org. Отново, това е най-сигурната и най-широко съвместима дистрибуция, тази, която никой не бива уволнен за бране. (Може да поискате да разследвате други дистрибуции на Python по-късно, тъй като те разглеждат конкретни случаи на употреба, които може да имате, но няма да ги разглеждаме тук.)

Един ключов избор, който ще трябва да направите, особено за Windows, е дали да използвате 32-битовата или 64-битовата версия на Python. Най-вероятният отговор е 64-битов поради следните причини:

  • Повечето съвременни операционни системи използват 64-битово издание на Python по подразбиране. Потребителите на Windows могат да изпълняват 32-битови издания на Python на 64-битов Windows, но с леки разходи за производителност. 
  • 32-битовият Python и 32-битовите приложения обикновено имат достъп само до 4 GB памет наведнъж. 64-битовите приложения нямат това ограничение, поради което много инструменти за анализ на данни и машинно обучение за Python работят най-добре в 64-битови превъплъщения. Някои са налични само в 64-битови версии. 

Единственият път, когато трябва да изберете 32-битовата версия на Python, е ако сте останали с 32-битова версия на Windows или трябва да използвате модул на трета страна, който се предлага само в 32-битово издание.

Инсталирайте Python на Windows по интелигентен начин

Python се инсталира на Windows по същия начин като всяко друго приложение, чрез инсталатор, който ви води през процеса на настройка.

По подразбиране инсталаторът на Python за Windows поставя своите изпълними файлове в AppDataдиректорията на потребителя , така че не изисква административни разрешения. Ако сте единственият потребител в системата, може да искате да поставите Python в директория от по-високо ниво (например C:\Python3.7), за да улесните намирането. Инсталаторът на Windows ви позволява да посочите целевата директория.

Изберете правилния инсталатор на Python за Windows

Python.org предлага редица различни превъплъщения на Python за Windows. В допълнение към вече споменатата 32-битова (“x86”) и 64-битова (“x86-64”) версии, можете да избирате от вграждащия се zip файл, изпълнимия инсталатор и уеб-базиран инсталатор. Ето за какво става въпрос:

  • В изпълним Инсталаторът е просто .EXE файл, който работи на процеса на настройване на Python. Това е лесният избор по подразбиране и най-често използваният.
  • В уеб-базирана Инсталаторът е същото като изпълним инсталатора, с изключение на това, че отделно изтегля битове, необходими за изпълнение на инсталацията. Това драстично намалява размера на действителния инсталатор, но разбира се изисква мрежова връзка.
  • В вгражда архивен файл е самостоятелна, минимална копие на издръжливостта й Python, който се вписва в една папка без никакви зависимости. Полезно е да групирате, когато искате да разпространявате приложение на Python ръчно или когато се нуждаете от бърза, еднократна инсталация на Python, за да тествате нещо в движение. Но вграденият цип не включва  pipили други полезни инструменти, които се предлагат с пълна инсталация, така че е само за експертна употреба.

Инсталирайте Python, като използвате мениджър на пакети за Windows

Още една опция е да използвате една от системите за управление на пакети, които съществуват за Windows. NuGet, мениджърът на пакети за .NET, предлага Python в своето хранилище. Въпреки това, Python се предлага там главно заради използването му като компонент в .NET приложение, а не като начин за инсталиране на самостоятелен екземпляр на Python за общо ползване. Вероятно ще откриете, че вашият екземпляр на Python е по-лесен за управление, ако инсталирате Python по обичайния начин. 

Chocolatey, по-обща система за управление на пакети за Windows, предлага и Python. Chocolatey е удобен начин да стартирате инсталатора на Python и да проследите присъствието на времето за изпълнение на езика Python във вашата система - и по този начин по-добър избор от NuGet. Най-добре е обаче да избягвате смесването и съпоставянето на Chocolatey и редовни инсталирания на Python на същата система.

Инсталирайте Python на Linux по интелигентен начин

Тъй като дистрибуциите на Linux се различават значително, типичният начин за инсталиране на Python на Linux е използването на диспечера на пакети на конкретния дистрибутор. Ubuntu и Fedora например имат изцяло различни процедури за инсталиране на Python. В Linux (и MacOS) целевата директория за инсталиране обикновено е предварително определена и се основава на номера на версията на Python, например /usr/bin/python3.Xна Linux или /usr/local/opt/python/на Mac.

Един от начините да се избегне справянето с тънкостите на Linux мениджърите на пакети е да се използва контейнеризирана среда на изпълнение на Python. Контейнерите се изпълняват изолирано от останалата част на системата, така че не е нужно да се притеснявате за различни времена на изпълнение на Python, които стъпват един на друг. Ако обаче вашият работен процес все още не включва контейнери, ще трябва да отделите време и енергия за ускоряване с Docker. (Обърнете внимание, че можете да използвате Python в контейнери и за Windows.)

Тук е полезен и инструмент, наречен asdf-vm. Можете да използвате asdf-vm, за да управлявате множество изпълнения на Python в Unix-подобни системи (Linux и MacOS) - и множество изпълнения за Node.js, Ruby, Elixir и много други езици. Така че, ако откриете, че жонглирате с версии на други неща освен Python, ще искате да разгледате asdf-vm.

Инсталирайте Python на MacOS по интелигентен начин

MacOS традиционно се доставя с инсталирана версия на Python, но никога по-нова от Python 2.7. Това създава проблеми при пристигането на Python 3, тъй като двете версии често са в конфликт. Официалната документация на Python има някои бележки в този смисъл, но не предоставя по-подробни препоръки, освен да се уверите, че използвате правилния път за екземпляра на Python, който искате.

Често срещан начин за управление на Python по време на изпълнение на MacOS е чрез мениджъра на пакети Homebrew. Homebrew предоставя последователен интерфейс за изтегляне, инсталиране, управление и премахване на Python и други приложения на командния ред на трети страни.

Инсталирайте пакетите на Python по интелигентен начин

След като сте настроили базова инсталация на версия на Python, не започвайте да инсталирате пакети директно в нея с pip - не, дори ако планирате да използвате Python само за един проект. Настройте директориите на вашите проекти, инсталирайте виртуални среди на Python в тях, след което инсталирайте пакети във тези виртуални среди. По този начин основната инсталация остава чиста.

За начин на високо ниво за управление на множество проекти с виртуална среда и зависимости, разгледайте проекта Poetry. Поезията предоставя инструмент за команден ред за управление на виртуална среда и зависимости на високо ниво.

Инсталирайте множество версии на Python една до друга

Единственият най-труден проблем при работа с инсталациите на Python е как да боравите с различни версии на Python, инсталирани едно до друго. Тук важат две универсални правила:

  • Винаги инсталирайте всяка версия в различна директория.
  • Уверете се, че всички системни пътища са конфигурирани да сочат първо към версията, която искате да стартирате по подразбиране.

Изпълнението на множество версии на Python аргументира категорично в полза на виртуална среда за всеки проект. Когато виртуалната среда е активирана, цялата активност на Python в контекста на проекта автоматично се насочва към правилната версия на Python, 

Друга опция Потребителите на Windows трябва да контролират коя версия на Python да използват, когато са инсталирани множество, е pyприложението за стартиране. По време на настройката на Python ви се предлага опцията за инсталиране на pyстартера, малък изпълним файл, който ви позволява да изберете (чрез флагове от командния ред) коя версия на Python да използвате за даден скрипт. Например, за да стартирате pipза Python 3.7, трябва да въведете  py -3.7 -m pip.

Надградете Python по интелигентен начин

Незначителните надстройки за Python - например Python 3.7.2 до Python 3.7.3 - обикновено са достатъчно лесни. В Windows инсталационната програма открива наличието на съществуващата версия и я надгражда. В Linux и MacOS инсталаторът или мениджърът на пакети обикновено прави същото.

Въпреки това, всяка създадена от вас виртуална среда също ще се нуждае от надстройка; те не се надстройват автоматично. За да надстроите Python във виртуална среда, просто отидете до директорията на виртуалната среда и въведете  venv --upgrade. Отново имайте предвид, че това работи най-добре само за малки надстройки на ревизии на точки - като Python 3.7.2 до Python 3.7.3.

Ако извършвате надстройка на основна точка, като Python 3.7 до Python 3.8, най-добре е да използвате, за venvда създадете нова, отделна поддиректория на виртуална среда в директорията на проекта, да преинсталирате всички зависимости в нея и да преминете към използването на нова виртуална среда. Повечето IDE с поддръжка на Python (например Microsoft Visual Studio Code) ще открият множество виртуални среди в даден проект и ще ви позволят да превключвате между тях.