Обновление Python в системе Ubuntu

Обновление Python в системе Ubuntu

Я хочу обновить сборку Python на моем Linux-компьютере, но единственный способ, который я знаю, это удалить текущую версию и установить новую. Моя система уже обновлена ​​(я обновил ее вчера). Я хотел узнать, есть ли способ обновить определенную программу из командной строки, например sudo apt-get update <program-name>. Я знаю, что такой команды не существует, но я надеюсь, что есть что-то эквивалентное.

решение1

Как уже отметили другие, bare sudo apt-get install packageустановит последнюю доступную версию, заменив старую при необходимости.

Но с некоторым программным обеспечением (среди которых есть Python) ситуация несколько иная. Некоторые основные, очень и несовместимо-различные версии получаютихпакеты. Например,Питон 2.6,Питон 2.7,Питон 3.1все они находятся в отдельных пакетах в Ubuntu.

Особое значение имеет тот факт, что одной из политик Ubuntu является широкое использование Python для написания программного обеспечения для конечного пользователя. Так что, по сути, довольно большая часть системыявляетсянаписан на Python. В данный момент код работает на Python 2.6 — поэтому эта версия используется по умолчанию при установке; и кодне будетлегко запускается, скажем, на Python 2.7 — потому что существуют несовместимости. Чтобы переключить систему на Python 2.7, нужно выполнить часть работы, состоящую из обновления и повторного тестирования всех скриптов. Это не может быть сделано легко; то есть, вы не можете просто «переключить» свою систему на Python 2.7 и удалить старую версию.

Но. Если вам плевать на крутые шестеренки вашей системы и вам просто нужен более новый Python — не вижу никаких препятствий. sudo apt-get install python3Смело идите и кодируйте для 3.x Python; только не забудьте запускать свои скрипты с помощью python3и использовать #!/usr/bin/env python3shebang line.


Обновлено:Я постоянно вижу, как за это голосуют. Обратите внимание, чтоэто ответ 9-летней давности, времена изменились.


Что изучать дальше

ИзсуперпользовательС точки зрения (не разработчика Python), следующие вещи, которые я бы посоветовал изучить:

  • pip/ pip3/ python3 -m pip— это для npmPython. Быстрый совет: попробуйте pip3 install --user howdoi(возможно, придется apt install python3-setuptools python3-pipодин раз, прежде чем это сработает). Тогда, например, howdoi --all compile python3 ubuntu.

  • Инструмент virtualenv. Он на 100% ориентирован на разработчиков, но вам, скорее всего, придется использовать его (возможно, под несколькими оболочками, такими как tox) для работы с исходными пакетами людей. Песочница
    Ruby bundlerили Cabal может быть знакомыми аналогами.

  • Инструмент conda— это совершенно отдельный репозиторий и установщик пакетов Python (можно сказать, форк PyPi).

ЕстьогромныйРазнообразие инструментов в экосистеме Python в 2020 году. По крайней мере, освойтесь, pipпрежде чем углубляться в изучение.

Основные подводные камни

Для смелых, но неосторожных: несколько классических ошибок при попытке вручную настроить новую версию CPython в Ubuntu.

  • Оставить /usrодного; вы можете смотреть, но не трогать. Оставьте это , избавьте себя от путаницы. В вашем распоряжении dpkgвсе :/usr/local

    sudo chown -R `whoami` /usr/local
    pip3 install --prefix=/usr/local pydf
    
  • Компиляция CPython из исходниковхорошо объяснено в сети; просто не забудьте свой /usr/localпрефикс. Это лучший способ вручную тестировать патчи и/или предварительные версии (те самые альфа-, rc-сборки) самого CPython. Чтобы стереть артефакты сборки, вы можете просто rm -rf /usr/local/*; sudo ldconfig.

  • Поиск PPAтоже достойный вариант; помните, что PPA — это просто чья-то частная сборка. Ищите надежные PPA с работающим CI/CD.

решение2

sudo apt-get install python 3.3.3

это для python(3.3.3), для других версий следует использовать соответствующий номер версии.

решение3

sudo apt-get install python3.6

Это установит Python 3 в Linux вместе с Python 2. Чтобы получить доступ к Python 3, введите команду после открытия терминала.

python3

решение4

С нашего родственного сайта:https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get

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

Если вы хотите обновить только определенный пакет И только если он уже установлен, то используйте команду:

sudo apt-get install --only-upgrade packagename

Связанный контент