Поиск по сайту:

Как скомпилировать и установить Python 3.11/3.10 из исходного кода в Ubuntu

В этом простом руководстве показано, как скомпилировать и установить Python 3.11, Python 3.10 или другую определенную версию Python в Ubuntu.

Для Ubuntu 18.04, Ubuntu 20.04 и Ubuntu 22.04 LTS существует проверенная команда PPA «deadsnakes», которая поддерживает все пакеты Python. Для выпусков, отличных от LTS, вы можете вручную собрать пакет языка программирования из исходного архива.

ПРИМЕЧАНИЕ. Это руководство протестировано и работает в Ubuntu 20.04, Ubuntu 22.04 и, в моем случае, Ubuntu 23.04.

1. Подготовка:

Прежде чем приступить к работе, вам необходимо установить некоторые необходимые пакеты для создания пакета компьютерного языка.

Откройте терминал, нажав Ctrl+Alt+T на клавиатуре или выполнив поиск в меню «Пуск». Когда он откроется, выполните команду ниже, чтобы установить зависимости:

sudo apt install wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

2. Загрузите архив Python:

Вы можете просто загрузить последнюю версию архива с веб-сайта Python по ссылке ниже:

Загрузить Python: https://www.python.org/downloads/

Если вы используете Ubuntu без среды рабочего стола, загрузите исходный пакет, выполнив команду wget в терминале:

wget -c https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz

Для другой версии Python загрузите ее через веб-браузер на этой странице. И соответствующим образом измените номер версии в команде.

И разархивируйте архив, щелкнув правой кнопкой мыши и выбрав «Извлечь сюда» в файловом менеджере, или выполнив команду в терминале:

tar -Jxf Python-3.11.0.tar.xz

3. Настройте источник:

Зависит от того, как вы захватываете исходный архив: либо щелкните его правой кнопкой мыши в файловом менеджере, извлеките и откройте исходную папку в терминале с помощью пункта контекстного меню:

Откройте исходную папку Python 3.11 в терминале

Если вы только что выполнили команду tar выше, вы можете перейти к исходной папке через:

cd Python-3.11.0/

Команда различается в зависимости от того, какую версию Python вы загрузили.

Находясь в каталоге с исходным кодом, запустите команду, чтобы настроить источник с помощью дорогих и стабильных оптимизаций (PGO и т. д.):

./configure --enable-optimizations

4. Соберите и установите Python:

Наконец, скомпилируйте и установите его в «/usr/local/bin», выполнив команду:

sudo make -j4 && sudo make altinstall

Здесь -j4 запустит 4 потока для ускорения работы. В зависимости от вашего процессора вы можете увеличить это число или просто пропустить его. И когда команда make будет выполнена, она попросит вас ввести пароль для запуска make install с привилегией sudo.

5. Проверьте

Если все сделано успешно и без ошибок, вы можете убедиться, выполнив команду:

python3.11 --version
python3.11 -m pip --version

Он должен вывести для вас языковую версию, а также версию менеджера пакетов pip.

5. Сделайте Python 3.11 по умолчанию.

ВАЖНО: изменение Python3 по умолчанию в Ubuntu МОЖЕТ вызвать проблемы!!! Делайте это на свой страх и риск.

После установки вы можете установить его по умолчанию, создав символические ссылки на /usr/bin/python3:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 110
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 100

В первой команде измените системный стандартный python3.10 на python3.8 , если вы используете Ubuntu 20.04. Наконец, в любой момент запустите команду ниже, чтобы выбрать, какой Python использовать по умолчанию:

sudo update-alternatives --config python3

Удалите Python 3.11:

Пока вы не удалили исходный каталог, вы можете сначала либо перейти к этой папке в терминале, либо щелкнуть правой кнопкой мыши и выбрать открытую папку в терминале, а затем запустить команду make uninstall, чтобы удалить Python 3.11:

sudo make uninstall

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

cd /usr/local/bin && rm -f sudo rm -f 2to3 2to3-3.11 idle3 idle3.11 pip pip3 pip3.10 pip3.11 pydoc3 pydoc3.11 python3 python3.11 python3.11-config python3-config

Статьи по данной тематике