- 2. Using Python on Unix platforms¶
- 2.1. Getting and installing the latest version of Python¶
- 2.1.1. On Linux¶
- 2.1.2. On FreeBSD and OpenBSD¶
- 2.1.3. On OpenSolaris¶
- 2.2. Building Python¶
- 2.3. Python-related paths and files¶
- 2.4. Miscellaneous¶
- 2.5. Custom OpenSSL¶
- Установка Python 3 в Ubuntu
- Установка Python в Ubuntu 20.04
- Установка Python 3.10 в Ubuntu
- Выводы
- Установить Python в Linux
- Установка с помощью менеджера пакетов
- Скачать Python
- Скачать и установить Python 2.7.9
- Скачать и установить Python 3
- Скачать и установить Python 3.11.3
- Скачать и установить Python 3.9.1
- Установка Python 3.9.13 в CentOS7
- pyenv: установка нескольких разных версий
- Установка Pip
2. Using Python on Unix platforms¶
2.1. Getting and installing the latest version of Python¶
2.1.1. On Linux¶
Python comes preinstalled on most Linux distributions, and is available as a package on all others. However there are certain features you might want to use that are not available on your distro’s package. You can easily compile the latest version of Python from source.
In the event that Python doesn’t come preinstalled and isn’t in the repositories as well, you can easily make packages for your own distro. Have a look at the following links:
2.1.2. On FreeBSD and OpenBSD¶
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages//python-.tgz
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.1.3. On OpenSolaris¶
You can get Python from OpenCSW. Various versions of Python are available and can be installed with e.g. pkgutil -i python27 .
2.2. Building Python¶
If you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release’s source or just grab a fresh clone. (If you want to contribute patches, you will need a clone.)
The build process consists of the usual commands:
./configure make make install
Configuration options and caveats for specific Unix platforms are extensively documented in the README.rst file in the root of the Python source tree.
make install can overwrite or masquerade the python3 binary. make altinstall is therefore recommended instead of make install since it only installs exec_prefix /bin/python version .
2.3. Python-related paths and files¶
These are subject to difference depending on local installation conventions; prefix and exec_prefix are installation-dependent and should be interpreted as for GNU software; they may be the same.
For example, on most Linux systems, the default for both is /usr .
Recommended location of the interpreter.
prefix /lib/python version , exec_prefix /lib/python version
Recommended locations of the directories containing the standard modules.
prefix /include/python version , exec_prefix /include/python version
Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.
2.4. Miscellaneous¶
To easily use Python scripts on Unix, you need to make them executable, e.g. with
and put an appropriate Shebang line at the top of the script. A good choice is usually
which searches for the Python interpreter in the whole PATH . However, some Unices may not have the env command, so you may need to hardcode /usr/bin/python3 as the interpreter path.
To use shell commands in your Python scripts, look at the subprocess module.
2.5. Custom OpenSSL¶
- To use your vendor’s OpenSSL configuration and system trust store, locate the directory with openssl.cnf file or symlink in /etc . On most distribution the file is either in /etc/ssl or /etc/pki/tls . The directory should also contain a cert.pem file and/or a certs directory.
$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
$ 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
$ 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
Patch releases of OpenSSL have a backwards compatible ABI. You don’t need to recompile Python to update OpenSSL. It’s sufficient to replace the custom OpenSSL installation with a newer version.
Установка Python 3 в Ubuntu
Python — это один из самых популярных языков программирования для Linux. На нем написано множество различных инструментов и библиотек. Кроме того, Python популярен среди разработчиков, потому что на нем очень просто и быстро программировать, и вообще, его просто освоить.
По умолчанию в Ubuntu уже поставляется интерпретатор Python, но сейчас в официальных репозиториях доступна только версия 3.5 и версия 2.7 для совместимости со старыми скриптами. Но самая новая версия на данный момент — 3.8. Однако уже доступны и более новые версии. В этой статье мы рассмотрим как установить Python 3 в Ubuntu 20.04.
Установка Python в Ubuntu 20.04
Сначала посмотрите какая версия Python установлена в вашей системе. Для этого выполните команду:
Новая версия, Python 3.9 доступна в репозиториях universe. Поэтому вам нет необходимости добавлять PPA, достаточно просто обновить систему и установить пакет нужной версии. Для этого наберите:
sudo apt update
sudo apt install python3.9
После завершения установки снова можно проверить версию:
Обратите внимание, что старая версия никуда не делась, она по-прежнему доступна по имени python3, а новая теперь может быть загружена командой python 3.9. Если вы хотите использовать эту версию вместо 3.8 для запуска всех программ нужно выбрать её в качестве версии по умолчанию. Но я бы не рекомендовал этого делать. Множество системных программ написаны на Python и протестированы именно с версией, поставляемой по умолчанию. Если вы измените версию что-то может перестать работать. Если вы всё же решились надо сначала добавить альтернативы:
sudo update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.9 2
update-alternatives —list python3
Теперь мы можем выбрать нужную нам версию и переключаться по необходимости. Для настройки используйте команду config:
sudo update-alternatives —config python3
В запросе ввода нужно указать номер программы, которую следует использовать по умолчанию.
Установка Python 3.10 в Ubuntu
На момент написания статьи Python 3.10 ещё находится в разработке и дата выпуска намечена на октябрь 2021 года. Однако альфа версия уже доступна и вы можете её установить и потестировать если захотите.
sudo add-apt-repository ppa:deadsnakes/ppa
Установка Python 3.10 в Ubuntu 20.04 выполняется командой:
sudo apt install python3.10
Готово, Python установлен и вы можете тестировать его и настраивать версии как описано выше. Для правильно ли прошла установка Python 3 Ubuntu, опять же выполните:
Выводы
В этой статье мы рассмотрели как установить Python на Ubuntu 20.04 и более ранних версий. Рассмотрели как выполняется установка из официальных репозиториев, из PPA и выбор версии. С выбором версии будьте аккуратны, не трогайте python, только python3, как я уже говорил, на Python 2.7 написано множество системных инструментов, и если вы попытаетесь запустить их не той версией интерпретатора, то ничего не получится. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Установить Python в Linux
Прежде чем приступать к решительным действиям желательно проверить не установлен ли Python в Вашем дистрибутиве Linux по умолчанию.
Как Вы можете увидеть — в моём Debian из коробки установлены Python 2.7.16 и Python 3.7.3
Если у вас нет Python по умолчанию — переходите к следующему шагу.
Прежде чем устанавливать Python советую установить бибилотеки для работы с ssl.
Иначе, в будущем можно столкнуться с ошибкой SSL module is not available
Установка с помощью менеджера пакетов
Самый простой способ — воспользоваться менеджером пакетов.
В Debian , Ubuntu и других .deb дистрибутивах это apt
В CentOS , Rocky , RedHat и других .rpm дистрибутивах это yum
sudo apt update -y
sudo apt-get install -y python3
sudo yum update -y
sudo yum install -y python3
Если что-то не получается — переходите к следующему шагу
Скачать Python
Пример скачивания с помощью wget
Скачать и установить Python 2.7.9
Чтобы установить Python из скачанного архива нужен компилятор C например gcc
Если нужно установить второй Python последней версии 2.7.9
—2021-01-11 12:17:43— https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz Resolving www.python.org (www.python.org). 151.101.84.223, 2a04:4e42:14::223 Connecting to www.python.org (www.python.org)|151.101.84.223|:443. connected. HTTP request sent, awaiting response. 200 OK Length: 16657930 (16M) [application/octet-stream] Saving to: ‘Python-2.7.9.tgz’ Python-2.7.9.tgz 100%[=============================================================>] 15.89M 3.63MB/s in 4.4s 2021-01-11 12:17:48 (3.61 MB/s) — ‘Python-2.7.9.tgz’ saved [16657930/16657930]
Распаковать архив можно командой
Затем нужно перейти в распакованную директорию и выполнить configure make install
cd Python-2.7.9
./configure
make
sudo make install
Пример Make файла для установки рабочего окружения
.PHONY: preinstall-env preinstall-env: @ sudo apt update @ sudo apt upgrade @ sudo apt-get install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev libffi-dev \ wget llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ liblzma-dev curl git #@curl https://pyenv.run | bash curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash @ echo «» >> ~/.bashrc @ echo ‘eval «$$(pyenv virtualenv-init -)»‘ >> /home/$$(whoami)/.bashrc @ echo «» >> ~/.bashrc @ echo ‘eval «$$(pyenv init -)»‘ >> ~/.bashrc @ export PYENV_ROOT=»/home/$$(whoami)/.pyenv» @ export PATH=»$PYENV_ROOT/bin:$PATH»
Скачать и установить Python 3
Перед установкой Python 3 советую установить библиотеки libbz2-dev libffi-dev libssl-dev
sudo apt-get install -y libffi-dev libbz2-dev libffi-dev libssl-dev
Они далеко не всегда нужны, но если какая-то понадобится и её нет — придётся переустанавливать Python
Подробнее про библиотеки, которые могут пригодиться читайте ниже в параграфе Makefile
Подробнее про утилиту wget читайте в статье «Скачивание из интернета в Linux»
Ниже вы можете изучить примеры скачивания и установки конкретных версий Python.
Скачать и установить Python 3.11.3
wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz ; tar xvzf Python-3.11.3.tgz ; cd Python-3.11.3 ; ./configure ; sudo make install
Возможно, после установки будет полезно добавить в текущий профиль новый alias
Скачать и установить Python 3.9.1
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz ; tar xvzf Python-3.9.1.tgz ; cd Python-3.9.1 ; ./configure ; sudo make install
Установка Python 3.9.13 в CentOS7
sudo yum -y install gcc zlib-devel zlib bzip2-devel libffi-devel openssl-devel wget make
wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz ; tar xvzf Python-3.9.13.tgz ; cd Python-3.9.13 ; ./configure ; sudo make install
pyenv: установка нескольких разных версий
Про установку разных версий python на одну систему, управление этими версиями и виртуальными окружениями в них — читайте статью pyenv
Установка Pip
sudo apt update
sudo apt install python3-pip
pip3 —version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
Библиотеки лежат в /home/andrei/.local/lib
total 0
drwx—— 0 andrei andrei 512 Mar 20 16:41 .
drwx—— 0 andrei andrei 512 Mar 19 13:31 ..
drwx—— 0 andrei andrei 512 Mar 19 13:19 python2.7
drwx—— 0 andrei andrei 512 Mar 20 15:01 python3.5
Пример Make файла для установки рабочего окружения
.PHONY: preinstall-env preinstall-env: @ sudo apt -y update @ sudo apt -y upgrade @ sudo apt-get install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev libffi-dev \ wget llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ liblzma-dev curl git @ curl https://pyenv.run | bash # substitute for # curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash @ echo «# Pyenv Config» >> ~/.bashrc @ echo ‘export PYENV_ROOT=»$$HOME/.pyenv»‘ >> /home/$$(whoami)/.bashrc @ echo ‘export PATH=»$$PYENV_ROOT/bin:$$PATH»‘ >> /home/$$(whoami)/.bashrc @ echo ‘eval «$$(pyenv init —path)»‘ >> /home/$$(whoami)/.bashrc @ echo ‘eval «$$(pyenv virtualenv-init -)»‘ >> /home/$$(whoami)/.bashrc
В .bashrc будет прописано
# PyEnv Configuration export PYENV_ROOT= » $HOME /.pyenv » export PATH= » $PYENV_ROOT /bin: $PATH » eval » $( pyenv init —path ) » eval » $( pyenv virtualenv-init — ) «
Перезапустить shell можно выполнив