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

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

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

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

1
задан 29 December 2016 в 07:24

4 ответа

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

Установить pyenv

Установить заголовки, необходимые для создания 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    
Запустить сценарий установщика (устанавливает pyenv и некоторые очень полезные плагины pyenv оригинальным автором, см. Здесь для более)
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Добавить строки инициализации к вашим ~/.profile или ~/.bashrc (он упоминает об этом в конце скрипта установки):
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Перезапустите вашу оболочку (close & amp; open или exec $SHELL) или перезагрузите скрипт профиля. (например, source ~/.bashrc)

Done!

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

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

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

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

pyenv virtualenv 3.6.0 general
Запустите сценарий установщика (устанавливает pyenv и некоторые очень полезные плагины pyenv оригиналом автор: см. здесь)
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

Запустите сценарий установщика (устанавливает pyenv и некоторые очень полезные плагины pyenv оригинальным автором, см. здесь для более)

[d24 ] Сделайте его виртуальным, чтобы вы могли сделать других позже, если вы хотите

Устранение неполадок

bash: pyenv: command not found, fish: Unknown command 'pyenv' Проверьте свой $PATH, должна быть одна запись, которая заканчивается на что-то вроде .pyenv/bin. Если он отсутствует, убедитесь, что вы выполнили # 3 И # 4 (перезапустите оболочку) в разделе Установка pyenv выше. pyenv: no such command 'virtualenv' Если вы не использовали сценарий установщика, скорее всего, вы установили только корневой пакет pyenv. См. Pyenv-virtualenv для инструкций по добавлению плагина. Если вы использовали сценарий установщика, проверьте, отображается ли оно с помощью pyenv commands.
89
ответ дан 23 May 2018 в 02:57
  • 1
    Ницца. Обратите внимание, что отсутствует одна зависимость - make :) – Elazar 5 January 2017 в 13:02
  • 2
    @ Элазар, вероятно, build-essentials для полноты – Nick T 5 January 2017 в 19:57
  • 3
    или не множественное число, потому что причины Debian. – Nick T 5 January 2017 в 20:01
  • 4
    Я не знаю, но я обнаружил эту проблему, помогая кому-то в IRC отлаживать проблему, из-за которой из-за этого не удалось выполнить определенный пакет Python (lxml?). Так бывает на практике, некоторым людям, и стоит знать. (Обходной путь rm -r ~/.cache/pip/wheels/.) – Marius Gedminas 11 January 2017 в 10:30
  • 5
    @fbrundu обновил для этого, спасибо :D – Nick T 27 January 2017 в 23:00

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

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

tar -xvzf /path/to/yourfile.tgz

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

./configure
make
make altinstall

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

11
ответ дан 23 May 2018 в 02:57
  • 1
    Вопрос говорит (id preferably not build it on my own). Возможно, было бы лучше пойти по маршруту apt, если это возможно. – TheWanderer 29 December 2016 в 00:11
  • 2
    Хорошо, я посмотрю, могу ли я найти альтернативные репозитории для вас. У вас появилась возможность еще раз посмотреть на Google для альтернативных репозиториев? Я не хочу предлагать вещи, которые вы уже пробовали. – Just In Time Berlake 29 December 2016 в 00:13
  • 3
    Я не ОП. Просто сделайте предложение. Я не мог найти PPA для 3.6, поэтому строительство может быть необходимым маршрутом. Вы должны, вероятно, обратиться к этому в своем ответе. – TheWanderer 29 December 2016 в 00:14
  • 4
    Ваши команды 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 27 April 2018 в 18:43

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

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

3
ответ дан 23 May 2018 в 02:57
  • 1
    Это, по сути, копия принятого ответа. Где добавленная стоимость вашего ответа? – Marc Vanhoomissen 4 January 2018 в 23:28
  • 2
    Первый шаг в Ubuntu 16.04 для тех, кто хочет скомпилировать и установить python 3.6 по какой-то причине. Процесс компиляции и установки Python 3.6 на Ubuntu 16.04 недоступен в принятом ответе или в любом ответе в этом вопросе. Остальные моменты - это уточнить версию Ubuntu и то, как она отличается от других принятых ответов. – Aryal Bibek 5 January 2018 в 10:01
  • 3
    Установка PPA на 16.04 (Mint) выглядит сломанной. Полезна установка из исходной информации. – demented hedgehog 8 May 2018 в 01:46

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

И я изменил хитрый, чтобы доверять, а затем: [ ! d2]

sudo apt-get update
sudo apt-get install python3.6
2
ответ дан 23 May 2018 в 02:57
  • 1
    Ubuntu 15.10? Он прошел EOL несколько месяцев назад. Время обновления. – edwinksl 14 June 2017 в 10:19

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

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