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

103
2017-10-08 06:06


происхождения


askubuntu.com/questions/674586/... - h0ch5tr4355
ты когда-нибудь получал E: Couldn't find any package by regex 'python3.5' и, таким образом, не удалось установить через apt-get install python3.5? - Charlie Parker
аналогичный вопрос: askubuntu.com/questions/310441/... - Charlie Parker
некоторые полезные предложения здесь: quora.com/... - Charlie Parker
@CharlieParker Вы пытались установить анаконда ? - M. Becerra


ответы:


Феликс Крулл запускает предложение PPA в основном Любые версия Python (серьезно, есть 2.3.7 сборка для ярких ...) для многих выпусков 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 перед выполнением обновления.


141
2017-10-08 06:34



для noob там, не symlink! также не symlinking просто означает, что вам нужно ввести python3.5 из командной строки для запуска python 3.5 - Chris Hawkes
Не могли бы вы указать мне, как я могу использовать 3.4-пип с этим 3.5? - Groosha
попробовал это на выпуск osmc на raspberri pi, не работал (возможно, из-за «Err» ppa.launchpad.net jessie / main armhf Пакеты 404 не найдены '). Я не мог получить python3.5 из репозитория, только 3.4. Исходя из источника после установки build-essential, однако работал. - verboze
@ kondra007 Я следовал инструкциям из pip.pypa.io/en/stable/installing (пожалуйста прочитать предупреждение там) и эти две команды wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.py дал мне рабочий пип для python 3.5, но pip3.4 больше не работает. Если кто-нибудь знает лучше, прокомментируйте - ndemou
Также установите python3.5 как значение по умолчанию ~$ vim ~/.bashrc и добавьте это alias python=python3.5, тогда ~$source ~/.bashrc - Krishnadas PC


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

31
2018-01-31 05:33



OP сказал, что он не хочет компилироваться из источника - Michael Bates
Да ты прав. Также компиляция из источника может привести к возникновению некоторых проблем с зависимостями в будущем. Но так я и решил. Если есть лучший способ, я определенно хочу знать. - joydeep bhattacharjee
В четвертой команде немного изменилось, это должно быть cd Python-3.5.0 вместо cd Python-3.5.0.tgz. - Imran
Рассматривать ./configure --enable-optimizations  stackoverflow.com/questions/41405728/... - warvariuc
Вам также нужен компилятор c / c ++ из apt-get install build-essential - bato3


Просто следуйте этим шагам (проверенным):

Шаг 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

Источник,


9
2018-03-08 16:47



+1 для использования altinstall по умолчанию. Там нет реальных сценариев, где вы можете жить только с одной версией. Даже для систем с Python3 по умолчанию вы можете установить Python как обратное -> Python2 или добавить Python2. - erm3nda


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

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

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не работает, потому что говорит, что у вас уже есть это. Кажется, это была одна из моих проблем, потому что я начинал с изображения докеров с тензорного потока (в частности 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


Примечание: можно также установить 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, если это то, что вы хотите.

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


6
2018-02-09 19:56



«в контейнере докера» является очень общим заявлением: все зависит от того, на каком изображении основан контейнер, например, какую версию Ubuntu. Кроме того, могут быть небольшие версии, такие как 3.5 или 3.6, которые недоступны в одной версии Ubuntu (например, 14.04) - giorgiosironi


Существует ряд новых дистрибутивов 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
2018-02-13 23:24



версии Python, доступные в Ubuntu Repo не являются новейшая версия Python, - yaitloutou
@yaitloutou Вопрос говорит, что «новее» не «новейший». Во что бы то ни стало не стесняйтесь писать лучший ответ. - Elder Geek
Вы правы, но так как новее относительно того, что не указано, я интерпретировал его как новейший :) - yaitloutou
@yaitloutou Не стесняйтесь и, во что бы то ни стало, напишите лучший ответ! Я уверен, что это будет оценено. - Elder Geek
Я только начал активно заниматься, и я все еще учился. Извините, если вы нашли мой комментарий к своему ответу навязчивым - yaitloutou


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

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

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


0
2018-06-21 06:20



Я думаю, вам нужно установить версию python, которую вы хотите, прежде чем сможете использовать ее в виртуальной среде. - Nzbuu
Вы устанавливаете желаемую версию python в виртуальной среде, чем вы изменяете свой путь, связанный с python, просто запуская скрипт «активировать» в виртуальной среде. - devrimbaris
На самом деле это именно то, что я хочу сделать - самое первое, что я пробовал делать после того, как после ответа @ Nephente было указано на него, используя virtualenv -p, Но он взорвался с помощью «ImportError: нельзя импортировать имя« HTTPSHandler »». - Michael Scheper
почему это было приостановлено? virtual envs обычно работают нормально. - Charlie Parker
как установить виртуальный env в ubuntu (как в вашем предложении), но с помощью python 3.5? - Charlie Parker


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


0
2018-02-10 19:55





На Ubuntu 16.04.1 LTS у вас есть как python 2 (python), так и уже установленный python3.

Чтобы обновить тему до Последняя версия, вы можете действовать следующим образом:

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

sudo apt update && sudo apt -y upgrade


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

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

2'- проверить везионы

pip -V; pip3 -V


3- Обновить зернышко (Рекомендованный PyPA инструмент для установки пакетов Python) до последней версии в PyPI (индекс пакета Python)

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

3'- проверить везионы

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- (необязательно) Чтобы иметь возможность использовать subversion python для каждого проекта / приложения и поддерживать зависимости, требуемые разными проектами, разделены. вам необходимо установить Virtualenv

[sudo -H] pip install virtualenv

-1
2018-02-12 22:04



Как это отвечает на вопрос? - edwinksl
вопрос требует установки «последние выпуски Python»  используя диспетчер пакетов (в отличие от здания из источника). на это дается ответ. в этом ответе также говорится, «какие проблемы могут возникнуть при обновлении до следующей версии?» и как их избежать 4 , Кстати, это обновление. старый вопрос уже ответил 2 года назад. - yaitloutou
Речь идет об установке самого интерпретатора Python, а не о pip или Python, которые могут быть установлены с использованием pip, - edwinksl
интерпретатор Python уже установлен, все, что нужно, - это обновить его. и вот что я здесь объяснил. Если вы найдете информацию в моем ответе неправильной или устаревшей, пожалуйста, дайте мне знать. и если вы думаете, что это не отвечает на текущий вопрос, как вы понимаете, не стесняйтесь делиться своими знаниями, публикуя другой ответ - yaitloutou
это немного касательно вопроса, но самый ответный ответ устанавливает версию python без пипса и получение пипса для работы с этим ответом на самом деле очень раздражает. Я думаю, что этот ответ полезен. - Charlie Parker