Установка последней версии Python на Ubuntu 14.04 LTS без сборки из исходников [дубликат]

Как я могу установить другую версию Python с помощью apt-get?

Очевидно, я понимаю, что могу установить с помощью tar-шара исходников, однако я бы предпочел не устанавливать из исходников и вместо этого использовать менеджер пакетов, поскольку именно для этого он и существует. Наверняка где-нибудь есть авторитетное место, где собирают .deb-файлы для последних релизов Python (почему python.org этого не делает - непонятно), на которые я могу ссылаться.

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

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

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _ssl                  _tkinter           
readline              zlib  
181
задан 11 October 2017 в 13:48

9 ответов

Felix Krull запускает PPA, предлагая в основном любую версию Python (серьёзно, есть 2. 3.7 build for vivid...) для многих релизов Ubuntu на https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa.

Делайте как обычно:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.5

Он не перезапишет ваш существующий python3.4, который все еще имеет сим-ссылку python3.

Не меняйте симлинк! Очевидно, есть много системных функций, которые не работают должным образом с python3.5.

Я попробовал это и после этого не смог открыть терминал, программу обновления,...

cd /usr/bin
sudo rm python3

Обновление до Wily адаптирует мета-пакет python3 к python3.5. Я не ожидаю никакого поломки, но на данный момент зарубежный репозиторий больше не нужен. Поэтому, чтобы быть действительно безопасным, вы можете очистить PPA перед обновлением.

212
ответ дан 5 January 2021 в 22:51

Это обновление до Ответ Нефенте (т.е. самый высокий) по состоянию на 2019-10 гг. (С выдержками оттуда, используемыми в CC BY-SA 4.0):

Феликс Крулл запускает PPA, предлагающий множество версий Python для многих выпусков Ubuntu по адресу https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa . Однако не все комбинации поддерживаются. Если желаемая комбинация не поддерживается, но желаемая версия Python доступна там для более старой версии Ubuntu выпуск, вы часто все еще можете установить его следующим образом (здесь для примера Python 3.5):

sudo add-apt-repository "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install python3.5 python3.5-venv

Он не будет перезаписывать ваш существующий Python 3.x, который после этого все еще имеет символическую ссылку как python3 . установить упаковку es из более ранней версии Ubuntu отсюда . Я просто использовал это для установки Python 3.5 под Ubuntu 19.04.

0
ответ дан 5 January 2021 в 22:51

pyenv

Этот метод не использует apt-get , но я считаю, что это лучший вариант, доступный на сегодняшний день, поскольку он может легко скомпилировать любую версию Python из исходного кода, поэтому вы не нужно полагаться на какие-либо PPA.

https://github.com/pyenv/pyenv

Pyenv позволяет управлять несколькими версиями Python без sudo для одного пользователя, как и Node.js NVM и Ruby RVM .

Установите Pyenv:

curl https://pyenv.run | bash

Затем добавьте в свой .bashrc :

export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Найдите версию Python для установки:

pyenv install --list

Установите версия python, которую вы хотите:

# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
  libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
  xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

# Build and install a Python version from source.
pyenv install 3.8.0

Список доступных версий Python:

pyenv versions

Теперь у нас есть:

* system (set by /home/cirsan01/.pyenv/version)
  3.8.0

Выберите другую версию python:

pyenv global 3.8.0
python --version
python3 --version

Оба вывода:

Python 3.8.0

Теперь мы можем приступить к установке и использованию пакетов в обычном режиме:

pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'

Мы можем подтвердить, что все установлено локально в нашей чистой среде с помощью:

python -c 'import cowsay; print(cowsay.__file__)'
which cowsay

Для каждого проекта

В предыдущем разделе мы видели, как использовать pyenv в глобальной настройке.

Однако то, что вы обычно хотите состоит в том, чтобы установить конкретный питон и пакет ve rsion на индивидуальной основе. Вот как это сделать.

Сначала установите желаемую версию Python, как и раньше.

Затем изнутри каталога проекта установите желаемую версию Python с помощью:

pyenv local 3.8.0

, который создает файл .python- версия , содержащая строку версии .

А теперь давайте установим пакет локально только для нашего проекта: TODO: кажется, нет ничего хорошего: https://stackoverflow.com/questions/ 30407446 / pyenv-choose-virtualenv-directory / 59267972 # 59267972

Теперь, когда кто-то захочет использовать ваш проект, он сделает:

pyenv local

, который устанавливает правильную версию Python.

Связанные темы:

Протестировано в Ubuntu 18.04, pyenv 1.2.15.

3
ответ дан 5 January 2021 в 22:51

Conda активно обновляется и позволяет устанавливать несколько версий python в управляемых venv без утомительной настройки всего этого самостоятельно. Проблемы с путями двоичного расширения могли быть решены во многих управляемых цепочках зависимостей / пакетов, которые она использует.

0
ответ дан 5 January 2021 в 22:51

Существует ряд новых дистрибутивов Python, доступных для установки с помощью apt-get, перечисленных в Пакеты Ubuntu

, в качестве примера в настоящее время доступны следующие версии:

python2. 7

python3.2

python3.4

python3.5

python3.6

Доступность в определенной степени зависит от выпуска Ubuntu. Например, 3.5 доступен для Xenial, Yakkety и Zesty, а 3.6 доступен для Yakkety и Zesty, но вы должны включить Universe репозиторий , если не разрешено получать их через apt-get. Чтобы проверить доступность вашей версии Ubuntu, проверьте ссылки выше.

Быстрый взгляд показывает, что , этот ответ также все еще действителен, поскольку PPA имеет 3.6 даже для Trusty.

2
ответ дан 5 January 2021 в 22:51

Насколько я могу судить, по крайней мере, в контейнере докера можно окончательно apt-get python 3.

Сначала я наткнулся на контейнер ubuntu с container:

docker run -it --rm ubuntu:latest bash

, то по какой-то причине ему нужно было обновить некоторые вещи ubuntu, поэтому я сделал (внутри контейнера):

apt-get update && apt-get install -y build-essential git libjpeg-dev

, а затем я просто установил python3, и, похоже, он автоматически получил python 3.5:

apt-get install python3
apt-get install python3-pip

и проверить, если pip работает, позволяет что-то загрузить:

pip3 install tensorflow

у меня все работает нормально.

Важное примечание: кажется, что если у вас уже установлен python 3.4, то apt-get install python3 не работает, потому что он говорит, что он у вас уже есть. Похоже, это была одна из моих проблем, потому что я начинал с образа докера из tensorflow (в частности gcr.io/tensorflow/tensorflow:latest-devel-py3 ) и чего-то в этом образе (я предполагаю, что это что у них уже есть python 3.4, но это может быть что-то еще) не позволили мне обновить мой python, чтобы получить python 3.5.


кредит: Я обнаружил это, когда спросил следующее: https://stackoverflow.com / questions / 42122826 / can-one-use-python-3-5-in-a-docker-container-based-out-of-the-tenorflow-docker


Примечание: также можно просто установить Anaconda. В качестве примера докера можно сделать:

docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash

с их официального сайта: https://hub.docker.com/r/continuumio/anaconda3/

Это решение устанавливает python 3.6, но я уверен, если вы посмотрите в него вы можете получить python 3.5, если вы этого хотите.

Примечание: вам, вероятно, в любом случае следует использовать виртуальную среду, такую ​​как virtual env или conda / anaconda, если вы все равно не используете докер. Просто хотел напомнить людям.

6
ответ дан 5 January 2021 в 22:51

Просто выполните следующие действия ( проверено):

Шаг 1 - Установите необходимые пакеты

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

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Шаг 2 - Загрузите Python 3.5.2

Загрузите Python, используя следующую команду с официального сайта python сайт. Вы также можете загрузить последнюю версию вместо указанной ниже.

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

Теперь извлеките загруженный пакет.

sudo tar xzf Python-3.5.2.tgz

Шаг 3 - Компиляция исходного кода Python

Используйте нижеприведенный набор команд для компиляции исходного кода Python в вашей системе с помощью altinstall.

cd Python-3.5.2
sudo ./configure
sudo make altinstall

make altinstall используется для предотвращения замены двоичного файла Python по умолчанию / usr / bin / python .

Шаг 4. Проверка версии Python

Проверьте установленную последнюю версию python используя команду ниже.

$ python3.5 -V

Python 3.5.2

Источник .

19
ответ дан 5 January 2021 в 22:51

Я подумал бы об использовании виртуальных сред вместо установки версий питона через apt-get.

Использование виртуальных сред, смотрите здесь, является хорошей практикой для разработки с питоном. Они позволяют изолировать ваше окружение питона от установленных версий питона.

Кроме того, при установке любой библиотеки (по pip и т.д.) вам не нужно получать доступ к sudo.

0
ответ дан 5 January 2021 в 22:51

Эта ссылка на Youtube помогла мне установить его.

Шаги следующие:

sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
sudo make install

Чтобы проверить, установлен ли python, введите python3.5 else:

sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5
46
ответ дан 5 January 2021 в 22:51

Другие вопросы по тегам:

Похожие вопросы: