Як встановити Python 3.6 за допомогою apt-get?


363

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

Отже, як би я пішов про це? (Я бажаю не будувати його самостійно)

Я використовую Ubuntu 16.04.


5
Можливо, python 3.6 недоступний для вашого розповсюдження. Якщо ви встановили aptitude, запустітьaptitude search python3
ridgy

Відповіді:


525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Якщо ви використовуєте Ubuntu 14.04 або 16.04, ви можете використовувати PPA Delixnakes Felix Krull за посиланням 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щоб викликати його.


5
Зауважте, що python3.6 в Ubuntu 16.10 - це бета-версія, яка має деякі проблеми (наприклад, дуже болісна витік пам'яті, dictщо виявляється в деяких рідкісних обставинах).
Маріус Гедмінас

102
ПОПЕРЕДЖЕННЯ - ні за яких обставин не піддаватися спокусі бігатиsudo apt remove python3.5чи щось подібне; Python є більш важливим для Ubuntu, ніж ви могли б подумати, і ви можете зламати встановлення Ubuntu. Якщо ви хочетеpython3зробити картуpython3.6, створіть натомість символьне посилання!
Хью Уолтерс

19
Я бачу, що немає python3.6-pipпакету, і тому я звик curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6встановлювати pip.
Acumenus

5
Якось пітон з ppa:jonathonf/python-3.6прибутого зі зламаним піп-файлом та без легкої установки 14.04. Однак мені вдалося виправити це, встановивши easy_install, а потім перевстановивши pip через curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipвипадок, якщо хтось
зіткнеться з

6
Як і деякі інші коментатори вище, у мене також виникли проблеми pipз установкою ppa:jonathonf/python-3.6. З іншого боку, ppa:deadsnakes/ppaпрацювали бездоганно ( apt-get install python3.6 python3.6-venv -y).
Майкл Геррманн

133

Я б рекомендував 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 (екзотичні пітони, такі як PyPy чи Jython, можуть мати інші залежності). Git використовується pyenv, плюс він також дозволяє будувати / встановлювати вихідні гілки, так що ви можете встановити будь-який 3.8 зараз, тобто головну гілку CPython fresh off 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. Додайте рядки init до свого ~/.profileабо ~/.bashrc(він згадує його в кінці сценарію встановлення):

    export PATH="$HOME/.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. Зробіть це virtualenv, щоб ви могли пізніше зробити інших, якщо хочете

    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 або встановлені на Pip утиліти 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.

1
Існує один застереження, коли використовується pyenv з Python 2.x (або дуже старі версії 3.x до того, як відбулося нове внутрішнє представлення рядка Unicode): pyenv використовує стандартні прапорці компіляції за замовчуванням та будує з 16-бітовими рядками Unicode. Дистрибутиви Linux зазвичай створюються за допомогою 32-бітних рядків Unicode. Це спричиняє біль, коли ви встановлюєте піп-файли як в pyenv, так і в py-n-pythons, тому що кешування колеса з піп-колесом.
Маріус Гедмінас

@marius, чому б ти коли-небудь використовував не-pyenv версію після її встановлення?
Нік Т

3
Я не знаю, але я виявив цю проблему, допомагаючи комусь із IRC налагоджувати проблему, коли певний пакет Python (lxml?) Не працював через це. Так це трапляється на практиці з деякими людьми, і це варто знати. (Обхід є rm -r ~/.cache/pip/wheels/.)
Маріус Гедмінас

1
Чи pyenvпотрібно встановлювати кожного користувача, якому потрібен Python? І якщо у мене є 3 користувачі, яким потрібна така ж версія Python 3.6, то доведеться її скомпілювати 3 рази, і це займе 3-кратний простір на диску? Якщо це правда, то це смокче…: /
старший Борщ

1
@SargeBorsch за замовчуванням (якщо ви використовуєте pyenv-інсталятор), це користувач встановлює, але нічого не заважає вам встановити його /optчи що завгодно і додати деякі посилання на /bin. Я вважаю, що це виключно корисний для користувачів; користувачі не потребують судо (крім libs). Місце на диску - це дешево.
Нік Т

14

Це залежить від того, яку версію 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в терміналі.

Я сподіваюся, що це допомагає. Якщо у вас виникли якісь проблеми, ви можете перевірити цю публікацію в блозі тут .


2
Це по суті копія прийнятої відповіді. Де додаткова цінність вашої відповіді?
Марк Ванхуміссен

2
Перший крок у Ubuntu 16.04 - це для тих, хто хоче чомусь скласти та встановити python 3.6. Процес компіляції та встановлення Python 3.6 на Ubuntu 16.04 недоступний у прийнятій відповіді чи будь-якій відповіді в потоці з цього питання. Інші моменти полягають у тому, щоб зрозуміти версію Ubuntu та чим вона відрізняється від інших прийнятих відповідей.
Ар'ян Бібек

1
Установка PPA 16.04 (Монетний двір) видається порушеною. Корисна установка з вихідної інформації.
дементований їжак

13

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

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

tar -xvzf /path/to/yourfile.tgz

Після того як ви перебуваєте в шляху до файлу, до якого було розпаковано, запустіть:

./configure
make
make altinstall

І сподіваємось, це має вирішити проблему для вас.


4
Питання говорить (id preferably not build it on my own). Можливо, було б краще пройти aptмаршрут, якщо це можливо.
The Wanderer

Гаразд, я перегляну, чи зможу знайти для вас альтернативні сховища. Чи отримали ви ще можливість шукати альтернативні репозиції в Google? Я не хочу пропонувати речі, які ви вже пробували.
Just In Time Berlake

Я не ОП. Просто внесення пропозиції. Не вдалося знайти жодних PPA для 3.6, тому побудова може бути необхідним маршрутом. Ви, мабуть, повинні вирішити це у своїй відповіді.
The Wanderer

У вашій команді make вийти з ладу в системі, за якою користувач ніколи нічого не будував, оскільки потрібно багато пакетів. "Суд схильних установок вбудованої істотно libssl-DEV zlib1g-DEV libncurses5-DEV libncursesw5-DEV libreadline-DEV libsqlite3-DEV libgdbm-DEV libdb5.3-DEV libbz2-DEV libexpat1-DEV liblzma-DEV ки-DEV"
Джо

4

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

12
Ubuntu 15.10? Він минув EOL місяці тому. Час оновлення.
edwinksl


0

Спочатку дотримуйтесь деяких інших відповідей, щоб встановити Python 3.6 або 3.7. Потім, якщо ви хочете встановити пакети PyPi, такі як OpenEXR через pipвас, ви можете отримати деякі помилки. Деякі з них (наприклад, для пакета PyPi OpenEXR) можуть бути вирішені, встановивши пакет розробки для вашого недавно встановленого Python. Це можна зробити за допомогою наступних дій:

sudo apt-get install python3.6-dev

або

sudo apt-get install python3.7-dev


0

Можливо, запропонувати Конду не є поганою ідеєю. Я думаю, що принаймні простіше, ніж використовувати pyenv. Але, можливо, це залежить від того, що ви маєте намір робити з Python, адже я думаю, що з Conda ви можете отримати додаткові пакети.

EDIT : Напевно, варто згадати, що після встановлення Conda версії Python за замовчуванням ви можете встановити потрібну версію, тут 3.6, використовуючи condaяк

conda install python==3.6
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.