Làm cách nào để sử dụng Python 2.7.x mới nhất Cách thức đúng cách trên Ubuntu 12.04 LTS?


28

Dự án của tôi cần duy trì hiện tại trên các bản phát hành Python, nhưng 12.04LTS hiện đang bị kẹt trong 2.7.3, mặc dù hiện tại 2.7.5 đã hết. Có cách nào để tôi có thể cập nhật hơn mà không cần biên dịch thủ công không? Chúng tôi bắt buộc phải tiếp tục cài đặt dựa trên gói cho Python. Cách "đúng" để xử lý việc này là gì?

Cảm ơn!

Câu trả lời:


14

EDIT: * Như @Anthon đã chỉ ra trong các bình luận, PPA này không bao gồm Python 2.7 cho Ubuntu 12.04 (Chính xác). Xem câu trả lời tương lai thú vị dưới đây , mà tôi không tin là có tồn tại khi tôi trả lời ban đầu.

Cách "Ubuntu" ưa thích để xử lý các gói không có trong vũ trụ của chúng theo mặc định là sử dụng PPA (kho lưu trữ của bên thứ ba), thay vì biên dịch thủ công. Bạn duy trì các lợi ích của quản lý gói, cập nhật và giải quyết phụ thuộc theo cách này.

Tuy nhiên, kho lưu trữ của bên thứ ba KHÔNG được hỗ trợ chính thức, nếu đó là một phần yêu cầu của bạn.

DeadSnakes (lấy nó) PPA duy trì các bản phát hành Python không có trong quản lý gói hệ thống.

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

Bạn có thể đọc thêm về PPA này ở đây .

Tuy nhiên, trong trường hợp của bạn, điều này không bao gồm Python 2.7, vì DeadSnakes chỉ cung cấp các phiên bản chính không được bao gồm và không phát hành điểm. Vì Ubuntu đã có gói 2.7 cho Ubuntu 12.04, DeadSnakes sẽ không cung cấp điều này.

Có thể tốt hơn là bạn nên đưa ra trường hợp bạn không nên sử dụng bao bì gốc với Ubuntu trong trường hợp này. Xem đoạn trích này từ 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.

Nếu bạn hoàn toàn bắt buộc phải sử dụng quản lý gói hệ điều hành và không thể chuyển sang phiên bản Ubuntu khác với gói được cung cấp bởi DeadSnakes, hoặc nguyên bản, thì bạn chỉ còn hai tùy chọn, như tôi thấy.

  1. Bạn có thể yêu cầu một backport của Python 2.7.5 đến Ubuntu 12.04.
  2. Bạn có thể tạo PPA của riêng bạn với phiên bản Python bạn yêu cầu.

Lưu ý phụ : AskUbfox là một StackExchange tốt hơn để đăng những thứ như thế này lên, so với SuperUser nói chung.


Hoàn hảo, cảm ơn! Theo kinh nghiệm của bạn, DeadSnakes có được duy trì tốt không?
Sẽ

2
Vâng, nó dường như được phổ biến và duy trì tốt. Tôi sẽ có ít đặt phòng bằng cách sử dụng nó.
krondor

1
Nó chỉ có 2.7.4 cho 10.04 chứ không phải 12.04
Anthon

1
@Anthon bạn đúng, tôi không nhận thấy điều đó. DeadSnakes sẽ không thay thế một bản phát hành chính, vì Ubuntu đã gói Python 2.7, Dowsnakes sẽ không cung cấp các bản phát hành điểm cho loạt bài đó. Thay vào đó họ cung cấp 3,3 cho Chính xác. Điều này sẽ không giúp OP trong trường hợp này.
krondor

Vào ngày 14.04, tôi đã phải sử dụng ppa:fkrull/deadsnakes-python2.7(lưu ý hậu tố)
Craig Younkins

37

Felix Krull cũng duy trì (như chưa được biết đến bây giờ) một PPA với bản phát hành Python 2.7 mới nhất cho Ubuntu Precise, Trusty và Utopic. Bạn có thể sử dụng quy trình tương tự như krondor mô tả, nhưng sử dụng thay thế hoặc bổ sung PPA này : ppa:fkrull/deadsnakes-python2.7.

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

Đây phải là câu trả lời được chấp nhận.
cr8ivecodesmith

1
Hiện tại nó có cảnh báo "đã ngừng" nhưng hoạt động tốt đối với các máy vẫn chạy các phiên bản Ubuntu cũ hơn. Các PPA cung cấp các phiên bản 2.7.12-1~precise1, 2.7.12-1~trusty12.7.10-0+utopic1(ví 12.04, 14.04 và 14.10).
mivk

5
Chỉ cần lưu ý rằng ngưng / frowsnakes-python2.7 ppa bị ngưng. Đối với các bản phát hành Python 2.7 mới nhất (như 2.7.13), hãy thử sử dụng jonathonf / python-2.7 ppa.
Socrates

cảnh báo - điều này gây ra sự cố cho tôi khi nâng cấp bản phân phối (12 -> 14) .. Tôi bị bỏ lại với một con trăn thực sự đã chết .. Hãy chắc chắn hoàn tác ppa này trước khi nâng cấp ..
dermen

tốt, điều đó đúng với mọi cập nhật phân phối và ppas.
tương lai sôi nổi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.