2. Использование Python на Unix платформах

2.1. Получение и установка последней версии Python

2.1.1. В Linux

Python предустановлен в большинстве дистрибутивов Linux и доступен в виде пакета. Однако есть определенные функции, которые вы, возможно, захотите использовать, которые недоступны в пакете вашего дистрибутива. Вы можете легко скомпилировать последнюю версию Python из исходников.

Если Python не предустановлен и отсутствует в репозиториях, вы можете легко создавать пакеты для своего дистрибутива. Взгляните на следующие ссылки:

См.также

Создание пакетов для Debian
Для Debian пользователей
Пакетизация в OpenSuse
Для пользователей OpenSuse
Создание rpm
Для пользователей Fedora
Пакетизация в Slackware
Для пользователей Slackware

2.1.2. FreeBSD и OpenBSD

  • Для пользователей FreeBSD, чтобы добавить пакет используйте:

    pkg install python3
    
  • Для пользователей OpenBSD, чтобы добавить пакет используйте:

    pkg_add -r python
    
    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
    

    Например, пользователи i386 получают версию Python 2.5.1, используя:

    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
    

2.1.3. OpenSolaris

Вы можете получить Python от OpenCSW. Доступны различные версии Python, которые можно установить, например, с помощью pkgutil -i python27.

2.2. Сборка Python

Если вы хотите скомпилировать CPython самостоятельно, первое, что вам нужно сделать, это получить исходник. Вы можете скачать либо исходный код последней версии, либо просто взять свежий клон. (Если вы хотите внести патчи, вам понадобится клон).

Процесс сборки состоит из обычных команд:

./configure
make
make install

Параметры конфигурации и предостережения для разных платформ Unix подробно описаны в файле README.rst в корне дерева исходных текстов Python.

Предупреждение

make install может перезаписывать или маскировать двоичный файл python3. make altinstall поэтому рекомендуется вместо make install, т. к. он только устанавливает exec_prefix/bin/pythonversion.

2.3. Пути и файлы, связанные с Python

Они могут отличаться в зависимости от местных правил установки; prefix (${prefix}) и exec_prefix (${exec_prefix}) зависят от установки и должны интерпретироваться как для программного обеспечения GNU; они могут быть одинаковыми.

Например, в большинстве систем Linux по умолчанию для обеих систем установлено значение /usr.

Файл/Каталог Значение
exec_prefix/bin/python3 Рекомендуемое местоположение интерпретатора.
prefix/lib/pythonversion, exec_prefix/lib/pythonversion Рекомендуемые местоположения каталогов, содержащих стандартные модули.
prefix/include/pythonversion, exec_prefix/include/pythonversion Рекомендуемые местоположения каталогов, содержащих файлы, необходимые для разработки расширений Python и встраивания интерпретатора.

2.4. Разное

Чтобы легко использовать сценарии Python в Unix, вам необходимо сделать их исполняемыми, например:

$ chmod +x script

и поместить соответствующую шебанг строку вверху сценария. Обычно хороший выбор:

#!/usr/bin/env python3

который ищет интерпретатор Python во всем PATH. Однако в некоторых Unix-системах может не быть команды env, поэтому вам может потребоваться жёстко указать /usr/bin/python3 в качестве пути интерпретатора.

Чтобы использовать команды оболочки в сценариях Python, просмотрите модуль subprocess.