Рейтинг:0

Как в Ubuntu 20.04 обновить Python 3.8 до 3.9 и использовать IDLE Shell 3.9 вместо 3.8 по умолчанию?

флаг co
SBL

У меня убунту 20.04. Мне было интересно, почему даже после входа

sudo apt установить python 3.9

в терминале, но я все еще получаю python 3.8.10, когда я вхожу python3 --версия. Как мне сделать его 3.9, чтобы при открытии IDLE я получал «IDLE Shell 3.9.6» вместо «IDLE Shell 3.8.10»?

Я только начал использовать Ubuntu и Linux и, возможно, еще не совсем понимаю некоторые вещи.

ChanganAuto avatar
флаг us
Одна из первых вещей, которую вы *должны* понять, это НЕ связываться с python, потому что это неотъемлемая часть ОС.
флаг ru
***НЕ*** связывайтесь с Python, установленным в системе! **ЭТО ЛИШИТ ВАШУ ВОЗМОЖНОСТЬ ДЕЛАТЬ ЧТО-ЛИБО В СИСТЕМЕ!** Управление пакетами, обновления, все имеет зависимый от Python компонент, который зависит от установленных в системе версий Python.
флаг ru
Я ищу альтернативу использованию IDLE с Python 3.9.x, установленным через PyENV в пользовательском пространстве, но у меня пока нет такого решения — если я найду работающий способ, я дам вам знать и опубликую все это. как ответ.
user535733 avatar
флаг cn
Если вы хотите использовать более новую версию Python3, то проще всего просто использовать соответствующую более новую версию Ubuntu. 20,04 (LTS) = Py3,8. 21.04 (не LTS) = Py3.9
флаг ru
@ user535733 Не все хотят отказываться от выпусков LTS. Вот почему существуют другие решения. :)
user535733 avatar
флаг cn
@ThomasWard, конечно.
Рейтинг:1
флаг ru

НЕ ДЕЛАЙТЕ возиться с Python, который установлен в системе! ЭТО УНИЧТОЖИТ ВАШУ ВОЗМОЖНОСТЬ ДЕЛАТЬ ЧТО-НИБУДЬ В СИСТЕМЕ! Управление пакетами, обновления, все имеет компонент, зависящий от Python, который зависит от установленных в системе версий Python.


Там является способ установить более новый Python для работы с ним и использовать на нем IDLE, но это не так просто и зависит от внешнего проекта (к которому я не имею никакого отношения), который называется пиенв на GitHub который позволяет вам запускать несколько установок Python одновременно и использует прокладки, чтобы убедиться, что версия, которую вы ХОТИТЕ использовать, доступна.

Вы должны изменить настройки репозитория здесь и сейчас! Нам нужны исходные репозитории (определенные deb-источник линии в /etc/apt/sources.list) включен для репозиториев, которые вы включили.

Если вы являетесь пользователем графического интерфейса, см. эта страница на вики Ubuntu для управления репозиториями в графическом интерфейсе. Вам нужно будет включить опцию «Исходный код» на вкладке «Программное обеспечение Ubuntu».

Если вы используете командную строку, вам в любом случае не следует использовать IDLE, но вы можете редактировать исходники через командную строку, обратившись к эта страница в справочных документах Ubuntu для управления источниками CLI. В /etc/apt/sources.list, для каждой строки у вас есть деб ... строка, которая не закомментирована, должна быть закомментирована deb-источник строка для соответствия - раскомментируйте это deb-источник линию, а затем запустить судо подходящее обновление. Если строк deb-src нет, то для каждого незакомментированного деб строка дублирует эту строку, но изменяет новую запись (дублированную строку), чтобы она начиналась с deb-источник.

Как только вы это сделаете, нам нужно настроить зависимости pyenv.

Установить пиенв в вашей среде.

PyENV предоставляет автоматический установщик — здесь на Гитхабе - вместе с инструкцией по его использованию. Эти инструкции, в основном, таковы:

завиток https://pyenv.run | бить

НЕ запускайте это с правами суперпользователя, это не нужно! После запуска установки вам будет предложено добавить несколько строк в ваш ~/.bashrc файл. Сделайте то, что он говорит, а затем закройте и снова откройте свой терминал.

Как только это будет там, убедитесь, пиенв работает, запустив версии pyenv и посмотрите, что указано в списке (должно быть просто указано «система»).

Как только это будет сделано, нам нужно предоставить вам необходимые сборки для вашей системы, чтобы установить и собрать Python!

ВО-ПЕРВЫХ вам нужны некоторые зависимости сборки. Все они адаптированы для различных основных версий Python в каждом выпуске, выполняйте только те строки, которые относятся к вашему выпуску.

Получите зависимости сборки. Для Python и IDLE вам также понадобятся библиотеки TK, поэтому сначала мы получим все зависимости.

На 18.04:

sudo apt build-dep python3.6 python3-tk

На 20.04:

sudo apt build-dep python3.7 python3-tk

Для 21.04 (и 21.10 после его выпуска):

sudo apt build-dep python3.9 python3-tk

Это установит МНОГО библиотек. Вам нужно разрешить их установку. Это устанавливает ВСЕ зависимости сборки, необходимые для сборки и работы Python; это извлекает зависимости для установленных в системе версий Python, но должно нормально работать для более поздних версий Python, которые pyenv установит в пользовательском пространстве.

Теперь, когда все это установлено, нам нужно настроить ваш pyenv и установить версию Python в пользовательском пространстве!

При условии, что версии pyenv показывает вам результат, затем мы можем перейти к настройке вашего материала.

Бег pyenv установить 3.9.7. Это загрузит tar-архив Python 3.9.7 из исходного кода Python, а затем создаст, скомпилирует и установит Python 3.9.7 в пользовательское пространство для pyenv. Это не повредит Python в вашей системе.

Как только это будет сделано, запустите pyenv локальная 3.9.7. Это установит прокладки, которые указывают исполняемые файлы Python на ваши локальные версии для вашей собственной оболочки. Однако убедитесь, что pyenv глобальный по-прежнему показывает «систему» ​​в качестве результата - иначе вы сломаете apt и другие вещи.

Теперь вы можете получить IDLE и начать его использовать.

Во-первых, проверьте пункт3 находится в .pyenv/прокладки путь вашего домашнего каталога. Это будет означать, что pyenv настроен правильно. Бег pip3 --версия, и убедитесь, что он отображается pip... from (длинный путь в /home/$USER/.pyenv/...) (python 3.9) (заменив биты «длинного пути» фактическим путем для вашей справки.

Если все это выглядит хорошо и там отображается «python 3.9», вы можете запустить pip3 установить --upgrade --user простоя и установите IDLE. Затем вы можете выполнить из командной строки праздный и запустите редактор IDLE. Вам нужно будет вручную создать ярлык в графическом интерфейсе, чтобы он работал напрямую (за рамками этого поста, извините!) как приложение с графическим интерфейсом, не открывая его сначала на стороне Python в командной строке. Однако это правильно запустит IDLE.

(Однако, поскольку это приложение ТЗ, оно выглядит немного... некрасиво... просто к вашему сведению.)

Протестировано на системе 20.04, но pyenv должен нормально работать с более поздними версиями Ubuntu.

SBL avatar
флаг co
SBL
Хорошо, я только что понял, что вам не нужно простоять, чтобы программировать Python на Ubuntu, и что вы можете просто использовать терминал для создания и запуска файлов Python во время кодирования в текстовом редакторе. Но я уже установил idle из терминала, прежде чем понял это. Должен ли я удалить простоя сейчас? Если да, то как мне это сделать?
флаг ru
@SBL, если вы установили по моим инструкциям, то `pip3 uninstall idle`. Если вы хотите Python 3.9, вам все равно нужно использовать приведенные выше инструкции, за исключением установки IDLE. Только не связывайтесь со своим системным питоном)
SBL avatar
флаг co
SBL
Спасибо за предупреждение
John Mee avatar
флаг th
Минус за паникерство. ОП был установлен из официального репозитория с помощью официального инструмента. Это не сломает их систему, а если и сломает, то возникнет широко распространенная официальная проблема. Все, что им нужно, — это объяснить, почему установка его по умолчанию — плохая идея, и несколько советов о том, как явно вызывать python3.9.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.