Работна среда за програмиране с Python в macOS

Страницата е създадена на:12 юни 2021 и редактирана на: 5 юли 2021

Вградени в macOS версии

С търсене в Google на думите multiple python versions on mac попадаме на страници по въпроса, от които научаваме, че:

В операционната система Mac OS X от версия 10.5 има вградена версия 2 на Python. В macOS от версия 10.15, реализирана през 2019 г. - има и версия 3. Версия 2 предстои да отпадне. В текущата macOS Big Sur 11.4, наличните версии са 2.7.16 и 3.8.2.

При наличие и на двете версии, версия 2 се отваря с команда python, а версия 3 - с команда python3.

Команда: which python посочва директорията, в която се намира файлът, който се изпълнява при подаване в терминала на команда python (Съответно: which python3 за python3), а точната версия се вижда с python -V и python3 -V

Други версии

Други версии на Python за Mac може да се изтеглят и инсталират ръчно от различни източници: python.org/downloads; или с инструмент за управление на софтуерни пакети като: Homebrew, MacPorts; с инструмента pyenv; или с друга дистрибуция, като: Anaconda, ActivePython.

Когато на една машина са инсталирани няколко версии на Python, то трябва да сме наясно кои са те и в коя директория се намира всяка версия. Това се научава от документацията на съответната версия.

Официалната към момента на писане на тези записки дистрибуция от python.org/downloads, се инсталира в директории:

/Application/Python 3.9 и
/Library/Frameworks/Python.framework/Versions/3.9

Изпълнимият файл е /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9. При инсталирането, в същата директория към него се създава символична връзка python3, а чрез модифициране на файла за конфигуриране на използвания команден интерпретатор (bash или zsh), намиращ се в главната директория на потребителя (съответно: .bash_profile или .zprofile), пътят до директория bin на дистрибуцията се добавя най-отпред на променлива $PATH. По този начин, когато потребителят подаде от терминал команда python се стартира версия 2.7, а когато подаде команда python3 - версия 3.9.

pyenv

Инструментът pyenv - Simple Python Version Management позволява инсталиране чрез компилиране от програмен код на избрани от потребителя версии, а след това - превключване и ползване на всяка от тях. Може би е добре, ако се реши да се ползва този инструмент за осигуряване на допълнителни версии на Python, да се ползва само той, защото е трудно под негово управление да се поставят версии, осигурени по други начини. (Ако на компютъра е инсталиран и се ползва XAMPP, може да се сблъскате с проблема описан в rvm - Head usage unknown option -1 / -n error. Possibly ruby related - Stack Overflow.)

Наличните версии, които могат да бъдат инсталирани, се виждат с команда
pyenv install -l

Инсталирането на конкретна версия става, например с
pyenv install 3.9.5

Списък на инсталираните версии се вижда с
pyenv versions

След инсталиране на нова версия това не променя системно инсталираните версии. Някоя от инсталираните версии се активира глобално (пример: pyenv global 3.9.5), локално - за текущата директория (pyenv local 3.9.5) или само за времето на сесията на командния интерпретатор (pyenv shell 3.9.5). Глобално връщане към системните версии става с pyenv global system; локално с: pyenv local --unset; а активираната с   pyenv shell версия се отменя след затваряне и ново отваряне на Terminal.

Повече за командите на pyenv - в pyenv - COMMANDS.md.

Програмни пакети

Същността на програмните пакети е обяснена в Python Packaging User Guide и други източници, като Python Modules and Packages – An Introduction – Real Python. Център за разпространяване на програмни пакети е PyPI · The Python Package Index и той се използва от приложения за управляване на пакети като pip или pipx.

Инсталирането на пакет става с
pip install имеНаПакет

Информация за даден пакет, включително в коя директория се намира се вижда с
pip show имеНаПакет

Списък на пакетите се вижда с
pip list

pip list -v
Показва по-подробна информация за пакетите, включително и в кои директории се намират.

venv / virtualenv

Специални инструменти за създаване на изолирани работни среди, включващи избрана версии на Python, които да се използват в определени приложения са venv и virtualenv. Изолирана среда означава, че в нея се използва определена версия на Python и необходими версии на програмни пакети, които в средата за друго приложение могат да бъдат съвсем различни.

Докато venv е модул от стандартната дистрибуция на Python, virtualenv е отделно приложение.

Инсталирането на virtualenv е описано в virtualenv - Installation documentation.

Като пример за използване на venv - Django.

 

Copyright CC BY-ND 4.0.
Посещения на страницата: общо 247 днес 1
Направено с MyCMS.