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

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

Итак, как бы я пошел по этому поводу? (Я бы предпочел не создавать его самостоятельно)

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

8 ответов

Решение

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Если вы используете Ubuntu 14.04 или 16.04, вы можете использовать PPA deadsnakes Феликса Крулла по адресу 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 и 18.04 (Bionic)

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

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

Кроме того, ответ на следующий вопрос "Как установить Python 3.7 с помощью apt-get?" имеет тот же ответ: pyenv update; pyenv install 3.7.0, Как правило, он будет работать в тот же день после выпуска, потому что вам не нужно ждать, пока кто-то еще упакует его для Ubuntu. Посмотреть все версии, которые вы можете установить с pyenv install --list

Установить pyenv

  1. Установите инструменты и заголовки, необходимые для сборки CPythons (экзотические Python, такие как PyPy или Jython, могут иметь другие зависимости). Git используется pyenv, плюс он также позволяет собирать / устанавливать исходные ветки, так что вы можете установить любую версию 3.8 прямо сейчас, то есть основную ветку CPython, свежую из GitHub:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-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,

Это зависит от того, какую версию 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 в терминале.

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

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

Процесс распаковки файла tgz:

tar -xvzf /path/to/yourfile.tgz

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

./configure
make
make altinstall

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

Лучше всего перейти на Ubuntu 20.04, а затем установить его из deadsnakesPPA:

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

В противном случае можно попробовать придумать, как установить deadsnakesPPA в версии Ubuntu, которую они не поддерживают. Они поддерживают только версии Ubuntu с долгосрочной поддержкой (LTS), а 19.04 и 19.10 - нет (но Ubuntu 20.04 поддерживает). Могу поклясться, что видел ветку о людях, делающих это где-то на Github https://github.com/deadsnakes/issues/issues?q=is%3Aissue+is%3Aclosed, но сейчас я не могу ее найти.

Также ознакомьтесь с этим ответом о загрузке deb-пакета https://stackoverflow.com/a/55858634/3064538

Но если вы не можете сделать ничего из этого, то последнее средство - скомпилировать его из исходников, что вы делаете, сначала устанавливая компилятор C.

       sudo apt install gcc

затем перейдите на https://www.python.org/downloads/ и найдите последнюю микро-версию 3.6 ( 3.6.10, когда я пишу это) и скомпилируйте ее из источника, например

       wget -P ~/Downloads https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tar.xz
cd ~/Downloads
tar -xJf Python-3.6.10.tar.xz
cd Python-3.6.10

а потом

       ./configure
make
make test
sudo make altinstall

Последняя команда использует altinstall вместо того install так что 3.6 установлен как python3.6 а также pip3.6. Если вы измените последнюю команду на sudo make install (без alt) то установит его как python3, который перезапишет версию Python 3.7 (и pip), которую вы установили сейчас.

Обновление оставлено в качестве упражнения для читателя.

Для 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

Возможно, предположить, что Конда не плохая идея. Я думаю, что это по крайней мере проще, чем использовать pyenv. Но, возможно, все-таки это зависит от того, что вы собираетесь делать с Python, потому что я думаю, что с Conda у вас могут возникнуть дополнительные пакеты.

РЕДАКТИРОВАТЬ: вероятно, стоит упомянуть, что после установки версии Python по умолчанию Conda, вы можете установить нужную версию, здесь 3.6, используя conda лайк

conda install python==3.6

Рассмотрим pyenv + pipenv, который должен заменить виртуальные среды PIP + с помощью Pipfile.

Потом в пипфиле

[requires]
python_version = "3.6"

https://stackoverflow.com/a/49800061/1689770

Во-первых, следуйте другим ответам, чтобы установить Python 3.6 или 3.7. Затем, если вы хотите установить пакеты PyPi, такие как OpenEXR через pip Вы можете получить некоторые ошибки. Некоторые из них (например, для пакета OpenEXR PyPi) могут быть решены путем установки пакета разработки Python для только что установленного Python. Это можно сделать, используя следующие:

sudo apt-get install python3.6-dev

или же

sudo apt-get install python3.7-dev

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