Вопрос: Как установить Python 3.6 с помощью apt-get?


Я пробовал обычный путь, sudo apt-get install python3.6, но ... ну ... это не сработало.

Итак, как я могу это сделать? (Я бы не хотел его строить самостоятельно)

Я использую Ubuntu 16.04.


266
2017-12-28 19:52


Источник


Возможно, python 3.6 недоступен для вашего распространения. Если вы установили aptitude, бег aptitude search python3 - ridgy


Ответы:


Ubuntu 14.04 и 16.04

Если вы используете Ubuntu 14.04 или 16.04, вы можете использовать Felix Krull's deadsnakes PPA в https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa:

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

Кроме того, вы можете использовать PPA J Fernyhough https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6:

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10 и 17.04

Если вы используете Ubuntu 16.10 или 17.04, то Python 3.6 находится в репозитории юниверсов, поэтому вы можете просто запустить:

sudo apt-get update
sudo apt-get install python3.6

После установки для Ubuntu 14.04, 16.04, 16.10 и 17.04

Чтобы вызвать интерпретатор Python 3.6, запустите python3.6,

Ubuntu 17.10

Ubuntu 17.10 уже по умолчанию поставляется с Python 3.6. Просто беги python3 чтобы вызвать его.


390
2017-12-28 20:26



Обратите внимание, что python3.6 в Ubuntu 16.10 - это бета-версия, которая имеет некоторые проблемы (например, очень болезненная утечка памяти в dict что проявляется в некоторых редких случаях). - Marius Gedminas
ВНИМАНИЕ - Ни в коем случае не соблазниться sudo apt remove python3.5 или что-то в этом роде; Python более основательно запекается в Ubuntu, чем вы думаете, и вы можете нарушить установку Ubuntu. Если ты хочешь python3 отобразить python3.6, создайте символическую ссылку! - Huw Walters
Я вижу, что нет python3.6-pip пакет, и поэтому я использовал curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 установить pip, - A-B-B
Как-то python от ppa:jonathonf/python-3.6 прибыл со сломанным пипсом и без easy_install на 14.04. Однако мне удалось исправить это, установив easy_install, а затем переустановив pip через curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip На всякий случай кто-то сталкивается с той же проблемой ... - FirefoxMetzger
Как и некоторые другие комментаторы выше, у меня также возникли проблемы с получением pip для установки с ppa:jonathonf/python-3.6, С другой стороны, ppa:deadsnakes/ppa работал безупречно (apt-get install python3.6 python3.6-venv -y). - Michael Herrmann


Я бы посоветовал pyenv чтобы решить ваши проблемы. Он не использует Aptitude, и делает привлекать «само построение», но это полностью автоматизированный, Вы можете создавать и устанавливать новую (или старую) версию Python, просто говоря pyenv install 3.6.0, Все работает как ваш пользователь, поэтому вам не нужно беспокоиться о испортить Python используемый самим Ubuntu.

Установить pyenv

  1. Установить заголовки, необходимые для создания CPythons (экзотические Pythons, такие как PyPy или Jython, могут иметь другие зависимости):

    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
    
  2. Запустите сценарий установки (устанавливает pyenv и некоторые очень полезные плагины pyenv оригинальным автором; см. Вот для большего)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
    
  3. Добавьте строки инициализации к вашему ~/.profile или ~/.bashrc (он упоминает его в конце скрипта установки):

    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Перезапустите оболочку (закройте и откройте или exec $SHELL) или перезагрузить скрипт профиля. (например, source ~/.bashrc)

Готово!

Настройка среды

Чтобы не трогать систему Python (как правило, плохая идея, службы уровня ОС могут полагаться на некоторые конкретные версии библиотеки и т. Д.) Создают свою собственную среду, это легко! Еще лучше, нет sudo, для него или pip устанавливает!

  1. Установите предпочтительную версию Python (это загрузит источник и построит его для вашего пользователя, без ввода)

    pyenv install 3.6.0
    
  2. Сделайте его виртуальным, чтобы вы могли сделать других позже, если хотите.

    pyenv virtualenv 3.6.0 general
    
  3. Сделайте его глобально активным (для вашего пользователя)

    pyenv global general
    
  4. Делайте то, что хотите, с Python / pip и т. Д. Это ваше.

Если вы хотите позже очистить свои библиотеки, вы можете удалить virtualenv (pyenv uninstall general) или создать новый (pyenv virtualenv 3.6.0 other_proj). Вы также можете использовать среды для каждого каталога: pyenv local other_proj бросит .python-version файл в вашу текущую папку и в любое время, когда вы вызываете у него Python или установленные Python утилиты или под ним, они будут подкреплены pyenv.

Исправление проблем

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Проверьте свои $PATH, должна быть одна запись, которая заканчивается чем-то вроде .pyenv/bin, Если он отсутствует, убедитесь, что вы следовали за # 3 И №4(перезапустите оболочку) в разделе «Установка pyenv» выше.
  • pyenv: no such command 'virtualenv'

    1. Если вы не использовали скрипт установщика, скорее всего, вы установили только корневой пакет pyenv. Видеть pyenv-virtualenv для инструкций по добавлению плагина
    2. Если вы использовали сценарий установщика, проверьте, отображается ли оно с помощью pyenv commands,

98
2017-12-29 02:46



или не множественное число, потому что причины Debian. - Nick T
Существует одно предостережение при использовании pyenv с Python 2.x (или очень старыми версиями 3.x до появления нового внутреннего представления строки Unicode): pyenv использует флаги компиляции по умолчанию и строит с 16-разрядными строками Unicode. Linux-дистрибутивы обычно строятся с 32-разрядными строками Unicode. Это вызывает боль, когда вы пытаетесь установить некоторые вещи на Pyenv и non-pyenv Pythons, потому что кэширование кэша. - Marius Gedminas
Я не знаю, но я обнаружил эту проблему, помогая кому-то в IRC отлаживать проблему, из-за которой из-за этого не удалось выполнить определенный пакет Python (lxml?). Так бывает на практике, некоторым людям, и стоит знать. (Обходной путь rm -r ~/.cache/pip/wheels/.) - Marius Gedminas
Есть ли pyenv необходимо установить для каждого пользователя, которому нужен Python? И если у меня есть 3 пользователя, которым нужна такая же версия Python 3.6, тогда она должна будет скомпилировать ее 3 раза и займет 3 раза дискового пространства? Если это правда, то это отстой ...: / - Sarge Borsch
@SargeBorsch по умолчанию (если вы используете pyenv-installer), это пользовательская установка, но нет ничего, что помешало бы вам установить его на /opt или что-то еще и добавление некоторых символических ссылок на /bin, Я считаю, что он исключительно полезен для пользователя; пользователям не нужно sudo (кроме libs). Дисковое пространство дешево. - Nick T


Альтернативный маршрут, если вы не можете найти какие-либо рабочие репозитории, вы могли бы попробовать скомпилировать себя из источника. Вы можете найти исходный код на странице загрузки, Затем загрузите и разгрузите архив; например, для Python-3.6.1.tgz,

Процесс разворачивания файла tgz:

tar -xvzf /path/to/yourfile.tgz

Когда вы находитесь в пути к файлу, файл распакуется, запустите:

./configure
make
make altinstall

И, надеюсь, это должно решить проблему для вас.


12
2017-12-28 20:10



Вопрос: (id preferably not build it on my own), Может быть, было бы лучше пойти apt если возможно, маршрут. - TheWanderer
Хорошо, я посмотрю, могу ли я найти альтернативные репозитории для вас. У вас появилась возможность еще раз посмотреть на Google для альтернативных репозиториев? Я не хочу предлагать вещи, которые вы уже пробовали. - Just In Time Berlake
Я не ОП. Просто сделайте предложение. Я не мог найти PPA для 3.6, поэтому строительство может быть необходимым маршрутом. Вы должны, вероятно, обратиться к этому в своем ответе. - TheWanderer
Ваши команды make не будут работать в системе, которую пользователь никогда не создавал, так как требуется много пакетов. "sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev" - Joe


Это зависит от того, какую версию Ubuntu вы используете.

Ubuntu 16.10 и Ubuntu 17.04

Поскольку Python 3.6 установлен в репозитории юниверсов Ubuntu 16.10 и Ubuntu 17.04, вы можете напрямую установить python 3.6 из репозитория. Просто используйте приведенные ниже команды:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Существует два способа установки Python3.6 на Ubuntu 16.04

  • Скомпилируйте и установите python 3.6 на Ubuntu 16.04
  • Установите python 3.6 на Ubuntu 16.04 из PPA

1. Скомпилируйте и установите python 3.6 на Ubuntu 16.04

Установите необходимые зависимости, загрузите исходный код python 3.6 и создайте среду и установите

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. Установите python 3.6 на Ubuntu 16.04 из PPA

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

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Если Python 3.6 установлен правильно, вы можете вызвать интерпретатор python, выполнив python3.6 в терминале.

Надеюсь, это поможет. Если у вас возникли какие-либо проблемы, вы можете проверить это сообщение в блоге Вот,


6
2018-01-04 18:51



Это, по сути, копия принятого ответа. Где добавленная ценность вашего ответа? - Marc Vanhoomissen
Первый шаг в Ubuntu 16.04 для тех, кто хочет скомпилировать и установить python 3.6 по какой-то причине. Процесс компиляции и установки Python 3.6 на Ubuntu 16.04 недоступен в принятом ответе или в любом ответе в этом вопросе. Остальные моменты - это уточнить версию Ubuntu и то, как она отличается от других принятых ответов. - Aryal Bibek
Установка PPA на 16.04 (Mint) выглядит сломанной. Полезна установка из исходной информации. - demented hedgehog


Для Ubuntu 15.10 я успешно установил его с помощью этого метода:

sudo add-apt-repository ppa:jonathonf/python-3.6

Но я отредактировал этот файл:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

И я изменил коварный в надежный а потом:

sudo apt-get update
sudo apt-get install python3.6

3
2018-06-14 06:59



Ubuntu 15.10? Он прошел EOL несколько месяцев назад. Время обновления. - edwinksl