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

Как я могу установить другую версию 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 ответов

Феликс Крулл руководит PPA, предлагая в основном любую версию Python (серьезно, есть сборка 2.3.7 для 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 так, чтобы он указывал на [ 115]. Я не ожидаю каких-либо поломок, но на данный момент внешний репозиторий больше не нужен. Поэтому, чтобы быть в безопасности, вы можете очистить PPA перед обновлением.

0
ответ дан 11 October 2017 в 13:48

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

Сначала я столкнулся с контейнером человечности с контейнером:

docker run -it --rm ubuntu:latest bash

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

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

и протестировать, если работы зернышка позволяет, загружают что-то:

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-tensorflow-docker


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

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, если это - то, что Вы хотите.

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

6
ответ дан 11 October 2017 в 13:48

Этот ссылка 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:

sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5
35
ответ дан 11 October 2017 в 23:48
  • 1
    Вы могли бы хотеть указать, как избежать распространяемого удаления? И идеально способ выключить это и на том, так, чтобы, когда пользователь делает что-то, что требует, удалили, чтобы быть постоянным, это является постоянным. – ostergaard 28 December 2016 в 04:03

Я рассмотрел бы использование виртуальных сред вместо того, чтобы установить версии Python через Кв. - добираются.

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

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

0
ответ дан 11 October 2017 в 23:48
  • 1
    @DavidFoerster Да. There' s эффективно неограниченное количество способы удалить файлы без rm. Решением, которое Videonauth дал здесь, является возможный способ помочь невезучим пользователям прекратить удалять материал, но его doesn' t обеспечивают любую фактическую безопасность (который может быть хорошо, если OP' s друзья not' t сознательно попытка ниспровергать OP' s пожелания). Videonauth: Я предлагаю редактировать это сообщение, таким образом, оно заметно разъясняет что это doesn' t на самом деле препятствуют тому, чтобы люди удалили файлы так как они don' t нужно эти rm команда, чтобы сделать так. (I' m воздержание от редактирования его самостоятельно, в случае, если Вы don' t хотят сказать это.) – Eliah Kagan 28 December 2016 в 08:59

На [1 125] Ubuntu 16.04.1 LTS Вы имеете и (Python) python 2 и python3, уже установленный.

Для обновления темы к [1 126] последняя версия можно продолжить двигаться следующим образом:

1-Обновлений список пакета и обновление все Ваше системное программное обеспечение к последней версии, доступной

sudo apt update && sudo apt -y upgrade


2- установка зернышко Python и python3-зернышко (альтернативный установщик пакета Python) из репозиториев Ubuntu

sudo apt install python-pip
sudo apt install python3-pip

2 проверки '- обновление vesrions

pip -V; pip3 -V


3- зернышко (PyPA рекомендовал инструмент для установки пакетов Python) к последней версии в [1 110] PyPI (Индекс Пакета Python)

sudo -H pip3 install --upgrade pip 
sudo -H pip install --upgrade pip

3 проверки '- vesrions

pip -V; pip3 -V

, необходимо получить вывод, подобный:

pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)


4- (дополнительно), Чтобы смочь использовать подверсию Python на проект/приложение и сохранить зависимости требуемыми различными проектами разделенный. необходимо установить
Virtualenv

[sudo -H] pip install virtualenv
0
ответ дан 11 October 2017 в 23:48

Conda активно обновляется и позволяет Вам устанавливать несколько версий Python в управляемом venvs без скуки установки всего этого самим. Двоичные проблемы соединения каналом расширения, возможно, были решены во многих управляемых цепочках зависимости/зернышка анаконды, которые это использует.

0
ответ дан 11 October 2017 в 23:48
  • 1
    Если у Вас нет очень серьезного основания, переменные сценария должны всегда , заключаются в кавычки: $@ = > "$@". Здесь, то, что Вы предлагаете, является очень опасной версией оригинала и сейфа rm: что, если там файл называют foo -i -r * (-i добавленным для защиты невинных пользователей)? – xhienne 31 December 2016 в 00:49

Существует много более новых дистрибутивов Python, доступных для установки через Кв. - перечислены в Пакеты Ubuntu

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

доступность python2.7

python3.2

python3.4

python3.5

python3.6

меняется в зависимости от релиза Ubuntu в известной степени. Например, 3.5 доступно для Гостеприимного, Yakkety, и Пикантный и 3.6 доступен для Yakkety и Zesty, но необходимо включить репозиторий Вселенной , если не позволенный получить их через Кв. - добираются. Для проверения наличия для версии Ubuntu проверяют ссылки выше.

А быстрый быстрый взгляд указывает, что этот ответ также все еще действителен как, который PPA имеет 3.6 даже для Надежного человека.

2
ответ дан 11 October 2017 в 23:48

Просто выполните те (протестированные) шаги:

Шаг 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 †“Compile Python Source

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

cd Python-3.5.2
sudo ./configure
sudo make altinstall

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

Python по умолчанию Шаг 4 †“Проверка Проверка Версии

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

$ python3.5 -V

Python 3.5.2

Source .

13
ответ дан 11 October 2017 в 23:48

Это обновление к ответ Nephente (т.е. находящееся на вершине рейтинга) с 2019-10 (с выборками, оттуда используемыми под CC SA 4.0):

Felix Krull выполняет 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, который является все еще symlinked как python3 впоследствии. Взлом для установки пакетов от более старого релиза Ubuntu отсюда . Я просто использовал это для установки Python 3.5 в соответствии с Ubuntu 19.04.

0
ответ дан 22 November 2019 в 22:55

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

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