27

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

Спасибо!

2 ответа2

36

Феликс Крулл также поддерживал (как и сейчас не поддерживается) PPA с последней версией Python 2.7 для Ubuntu Precise, Trusty и Utopic. Вы можете использовать тот же процесс, который описывает krondor, но использовать вместо этого или дополнительно этот 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
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 в целом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .