Работна среда за програмиране с 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.
Предишна страница: Интернет връзки
Следваща страница: Конспект от учебници за Python