Содержание страницы
2. Использование Python на платформах Unix¶Using Python on Unix platforms
2.1. Получение и установка последней версии Python¶Getting and installing the latest version of Python
2.1.1. В Linux¶On Linux
Python предустановлен в большинстве дистрибутивов Linux и доступен в виде пакета во всех остальных. Однако некоторые возможности, которые могут потребоваться, недоступны в пакете вашего дистрибутива. Последнюю версию Python можно легко скомпилировать из исходного кода.
Если Python не предустановлен и также отсутствует в репозиториях, вы можете легко создать пакеты для своего дистрибутива. Ознакомьтесь со следующими ссылками:
См. также
- https://www.debian.org/doc/manuals/maint-guide/first.en.html
для пользователей Debian
- https://en.opensuse.org/Portal:Packaging
для пользователей OpenSUSE
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
для пользователей Fedora
- https://slackbook.org/html/package-management-making-packages.html
для пользователей Slackware
2.1.2. На FreeBSD и OpenBSD¶On FreeBSD and 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¶On OpenSolaris
Python можно получить из OpenCSW. Доступны различные версии Python, которые можно установить, например, с помощью pkgutil -i python27.
2.2. Сборка Python¶Building Python
Если требуется скомпилировать CPython самостоятельно, первым делом необходимо получить исходный код. Можно скачать исходный код последнего релиза или просто взять свежий клон. (Для внесения исправлений потребуется клон.)
Процесс сборки состоит из обычных команд:
./configure
make
make install
Параметры конфигурации и особенности для конкретных Unix-платформ подробно описаны в файле README.rst в корне дерева исходного кода Python.
Предупреждение
make install может перезаписать или замаскировать бинарный файл python3.
make altinstall поэтому рекомендуется вместо make install
поскольку он устанавливает только exec_prefix/bin/pythonversion.
2.4. Разное¶Miscellaneous
Чтобы легко запускать скрипты Python в Unix, нужно сделать их исполняемыми, например, с помощью
$ chmod +x script
и поместить соответствующую шебанг-строку в начало скрипта. Хорошим выбором обычно является
#!/usr/bin/env python3
которая ищет интерпретатор Python во всей PATH. Однако
в некоторых Unix-системах может отсутствовать команда env, поэтому может потребоваться жёстко задать
/usr/bin/python3 как путь к интерпретатору.
Чтобы использовать команды оболочки в скриптах Python, обратитесь к модулю subprocess.
2.5. Пользовательский OpenSSL¶Custom OpenSSL
Чтобы использовать конфигурацию OpenSSL от вашего поставщика и системное хранилище доверенных сертификатов, найдите каталог с файлом
openssl.cnfили симлинком в/etc. В большинстве дистрибутивов файл находится либо в/etc/ssl, либо в/etc/pki/tls. Каталог также должен содержать файлcert.pemи/или каталогcerts.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Загрузите, соберите и установите OpenSSL. Убедитесь, что вы используете
install_sw, а неinstall. Цельinstall_swне переопределяетopenssl.cnf.$ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz $ tar xzf openssl-VERSION $ pushd openssl-VERSION $ ./config \ --prefix=/usr/local/custom-openssl \ --libdir=lib \ --openssldir=/etc/ssl $ make -j1 depend $ make -j8 $ make install_sw $ popd
Соберите Python с пользовательским OpenSSL (см. параметры configure
--with-opensslи--with-openssl-rpath)$ pushd python-3.x.x $ ./configure -C \ --with-openssl=/usr/local/custom-openssl \ --with-openssl-rpath=auto \ --prefix=/usr/local/python-3.x.x $ make -j8 $ make altinstall
Примечание
Патч-релизы OpenSSL имеют обратно совместимый ABI. Вам не нужно перекомпилировать Python для обновления OpenSSL. Достаточно заменить пользовательскую установку OpenSSL на более новую версию.