Как использовать последний Python 2.7.x «Правильный путь» в Ubuntu 12.04 LTS?

28

Мой проект должен оставаться актуальным в выпусках Python, но 12.04LTS в настоящее время застрял на 2.7.3, хотя 2.7.5 уже вышел. Есть ли способ, чтобы я мог оставаться более актуальным без ручной компиляции? Мы должны оставаться на пакетной установке для Python. Какой «правильный» способ справиться с этим?

Благодарность!

Будет
источник

Ответы:

14

РЕДАКТИРОВАТЬ: * Как отметил @Anthon в комментариях, этот PPA не включает Python 2.7 для Ubuntu 12.04 (Precise). Смотрите ответ фанки-будущего ниже , который, я не думаю, существовал, когда я первоначально ответил.

Предпочтительным способом работы с Ubuntu для пакетов, не включенных в их юниверс по умолчанию, является использование PPA (стороннего хранилища) вместо компиляции вручную. Таким образом вы поддерживаете преимущества управления пакетами, обновлений и разрешения зависимостей.

Однако сторонние репозитории НЕ поддерживаются официально, если это является частью вашего требования.

DeadSnakes (получите) PPA поддерживает версии Python, не включенные в управление пакетами систем.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

Вы можете прочитать больше об этом PPA здесь .

Тем не менее, в вашем случае это не включает Python 2.7, так как DeadSnakes предоставляет только основные версии, не включенные и не точечные выпуски. Поскольку Ubuntu уже упаковывает 2.7 для Ubuntu 12.04, DeadSnakes не будет этого предоставлять.

Для вас может быть предпочтительным сделать так, чтобы в этом случае вы не использовали встроенную упаковку с Ubuntu. Смотрите этот отрывок из DeadSnakes;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

Если вам абсолютно необходимо использовать управление пакетами операционных систем и вы не можете перейти на другую версию Ubuntu с пакетом, предоставленным DeadSnakes или изначально, то у вас, как я вижу, осталось только два варианта.

  1. Вы можете запросить бэкпорт Python 2.7.5 в Ubuntu 12.04.
  2. Вы можете создать свой собственный PPA с нужной вам версией Python.

примечание : AskUbuntu - лучший StackExchange для публикации подобных вещей, чем SuperUser в целом.

Крондор
источник
Отлично, спасибо! По вашему опыту, DeadSnakes в хорошем состоянии?
Будет
2
Да, это кажется популярным и ухоженным. Я бы имел небольшую оговорку, используя его.
Крондор
1
У него только 2.7.4 на 10.04, а не на 12.04
Anthon
1
@ Разве ты не прав, я этого не заметил. DeadSnakes не заменит основной выпуск, поэтому, поскольку Ubuntu уже включает Python 2.7, Deadsnakes не будет предоставлять точечные выпуски для этой серии. Скорее они обеспечивают 3,3 для точных. Это не поможет ОП в этом случае.
Крондор
14.04 мне пришлось использовать ppa:fkrull/deadsnakes-python2.7(обратите внимание на суффикс)
Крейг Юнкинс
37

Феликс Крулл также поддерживал (как в настоящее время не поддерживается) PPA с последней версией Python 2.7 для Ubuntu Precise, Trusty и Utopic. Вы можете использовать один и тот же процесс , как Крондор описывает, но использовать вместо или дополнительно этого PPA: ppa:fkrull/deadsnakes-python2.7.

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7
фанки-будущее
источник
Это должен быть принятый ответ.
cr8ivecodesmith
1
Теперь у него предупреждение «прекращено», но оно отлично работает на машинах, на которых все еще работают старые версии Ubuntu. PPA предоставляет версию 2.7.12-1~precise1, 2.7.12-1~trusty1и 2.7.10-0+utopic1(для 12.04, 14.04 и 14.10).
Mivk
5
Просто обратите внимание, что frull / deadsnakes-python2.7 ppa больше не поддерживается . В последних версиях Python 2.7 (например, 2.7.13) попробуйте использовать jonathonf / python-2.7 ppa.
Сократ
предупреждение - это вызвало у меня проблемы при обновлении дистрибутивов (12 -> 14) .. Я остался с действительно мертвым питоном .. Обязательно отмените этот ppa перед обновлением ..
dermen
ну, это верно для любого обновления дистрибутива и ppas.
фанк-будущее