Использование Python на платформах Unix
2.1. Получение и установка последней версии Python
2.1.1. В 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
-
Пользователи 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.2. Компиляция Python
Если вы хотите скомпилировать CPython самостоятельно, в первую очередь вам необходимо получить исходный код. Вы можете загрузить исходный код последней версии или просто сделать клонирование. (Если вы хотите внести правки, вам понадобится клонирование).
Процесс сборки состоит из обычных команд:
./configure make make install
Параметры конфигурации и замечания для конкретных платформ Unix подробно описаны в файле README.rst в корневом каталоге исходного кода Python.
Предупреждение
make install может перезаписывать или маскировать бинарник python3. Поэтому рекомендуется использовать make altinstall, а не make install, так как он устанавливает только exec_prefix/bin/pythonversion.
2.4. Разное
Чтобы легко использовать скрипты Python на Unix, нужно сделать их исполняемыми, например, с помощью
$ chmod +x script
и поместить соответствующую строку Shebang в начало скрипта. Хороший выбор — обычно
#!/usr/bin/env python3
который ищет интерпретатор Python в всей PATH. Однако на некоторых Unix-системах может отсутствовать команда env, поэтому может потребоваться жестко задать /usr/bin/python3 в качестве пути к интерпретатору.
Чтобы использовать командные строки оболочки в своих скриптах Python, обратитесь к модулю subprocess.
2.5. Пользовательская конфигурация 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 (см. параметры конфигурации
--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 на более новую версию.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/using/unix.html