Python2.7 sẽ có sẵn cho 10.04 trong tương lai chứ?


27

Vì Ubuntu 10.04 là bản phát hành LTS, nó sẽ hỗ trợ python 2.7 như một phiên bản bảo trì gói mặc định hay ít nhất là có gói python2.7 trong tương lai?

Vì nó sẽ là bản phát hành python 2.x lớn cuối cùng và dự định sẽ tồn tại trong một thời gian dài, tôi quyết định sử dụng nó. Tôi đã biên dịch nó từ nguồn (Tất nhiên sau khi xây dựng deps) nhưng bây giờ và sau đó tôi thấy những vấn đề nhỏ.

Có an toàn khi định nghĩa python 2.7 đã biên dịch của tôi làm mặc định không, vì có một số ứng dụng phân phối hoạt động trên python.

Câu trả lời:


16

Không, nó không được coi là an toàn để định nghĩa 2.7 làm trình thông dịch Python mặc định của bạn trong Lucid . Và tôi không nghĩ nó sẽ có trong tương lai.

  • Không có phiên bản nâng cấp chính của bất kỳ phần mềm nào trong một bản phát hành.

    Vì vậy, python2.7 sẽ không thay thế 2.6 làm trình thông dịch mặc định. Loại nâng cấp này chỉ được thực hiện giữa các phiên bản, trong một - đặc biệt là LTS - chỉ có cái gọi là nâng cấp phát hành ổn định, tức là sửa lỗi và nâng cấp liên quan đến bảo mật.

Tuy nhiên, hoàn toàn an toàn khi sử dụng python2.7, xác định trình thông dịch của bạn #!/usr/bin/python2.7và yêu cầu người dùng cài đặt nó bằng make altinstallnguồn python, cùng với python2.6


41

Có cùng một vấn đề với VPS không thể nâng cấp lên Maverick (ngay cả những hình ảnh LTS mới cũng không được cung cấp đúng hạn). Câu trả lời của Marius đã tạo ra mánh khóe để giúp tôi bắt đầu, nhưng nó nên được mở rộng dựa trên:

Thêm PPA vào nguồn của bạn

Nếu bạn ở trong hoàn cảnh của tôi, lời khuyên đơn giản về việc chạy add-apt-repositorysẽ không hiệu quả với bạn. Vì vậy, hãy làm điều này theo cách lỗi thời:

  1. Mở tệp /etc/apt/sources.list(bạn cần quyền root; nếu bạn đang ở trong trình bao, điều này có thể có nghĩa là đang chạy sudo vim /etc/apt/sources.list).

  2. Đi đến cuối tập tin (nếu sử dụng vim, chuyển sang chế độ chèn bằng cách nhấn i) và thêm các dòng sau:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
  3. Lưu và thoát (in vim: type :wq) và quay lại shell.

  4. Nhập thông tin sau (bạn có thể tìm thấy khóa chính xác tại PPA ; đó là phần sau dấu gạch chéo trong "chi tiết kỹ thuật" - đảm bảo bạn đã chọn đúng):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Bây giờ nhập vào sau để cập nhật danh sách nguồn của bạn:

    sudo apt-get update

Cài đặt và thiết lập Python 2.7

  1. Mở một shell trên máy chủ của bạn và nhập như sau:

    sudo apt-get install python2.7 python2.7-dev
  2. Để easy_installlàm việc, hãy lấy distributetập lệnh bootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
  3. Cuối cùng, bạn muốn pipvirtualenvlàm việc nếu bạn có kế hoạch làm bất cứ điều gì nghiêm trọng:

    easy_install-2.7 pip
    pip-2.7 install virtualenv

Thiết lập virtualenv

  1. Tạo thư mục cho môi trường mới của bạn và mở nó:

    mkdir my_env && cd my_env
  2. Tạo chính môi trường ảo (dấu chấm cho biết thư mục hiện tại là vị trí của môi trường, thay thế nó bằng đường dẫn chính xác nếu bạn bỏ qua bước trước đó):

    virtualenv --no-site-packages --python=python2.7 .
  3. Kích hoạt môi trường. Bạn sẽ nhận thấy các thay đổi nhanh chóng của vỏ để phản ánh môi trường hoạt động:

    source bin/activate
  4. Bất cứ điều gì bạn làm trong trình bao này bây giờ sẽ sử dụng các tập lệnh trong binthư mục của môi trường ảo và các gói Python của môi trường đó. Hãy ghi nhớ tùy chọn --no-site-packagescó nghĩa là bạn bắt đầu với bộ gói tối thiểu (bao gồm pip, tuy nhiên), vì vậy bạn cần cài đặt tất cả các gói bạn cần.

  5. Khi bạn hoàn tất, hủy kích hoạt môi trường (đây là lệnh được môi trường hoạt động nhận ra):

    deactivate

Bạn cũng có thể cài đặt các gói vào môi trường ảo bằng cách chuyển -Etùy chọn đến pip(ví dụ: pip install some-package -E /path/to/virtual/environmentđể cài đặt some-packagevào môi trường ảo trên đường dẫn đã cho). Hãy nhớ rằng bạn sẽ có một số phiên bản khác nhau piptương ứng với các phiên bản Python khác nhau được cài đặt.

Bạn nên sử dụng pip-2.7nếu bạn muốn cài đặt các gói cho Python 2.7 khi làm việc bên ngoài môi trường ảo ( --python=python2.7tùy chọn chúng tôi chuyển qua virtualenvcó nghĩa là môi trường ảo sẽ sử dụng phiên bản Python 2.7 của các công cụ mà nó cung cấp, vì vậy bạn không phải lo lắng về điều đó).


1
Trong trường hợp của tôi, tôi đã cài đặt pip cho 2.6 và tôi buộc phải easy_install-2.7 -U pipcài đặt phiên bản 2.7. Nhưng cảm ơn, đây là một sự trợ giúp tuyệt vời!
Gabe Moothart

2
Đối với bước 2 trong phần "Cài đặt và thiết lập Python 2.7" tôi phải thực hiện wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. Và sau đó để có được pip sudo python2.7 -m easy_install piptheo sau sudo python2.7 -m easy_install --upgrade pip. Tùy chọn --no-check-cert là cần thiết để vượt qua khiếu nại từ wget về chứng chỉ SSL. (Xem pypi.python.org/pypi/setuptools#unix-wget )
zlovelady


2

Điều này đã giải quyết tất cả các loại sự cố mà tôi gặp phải https://stackoverflow.com/questions/7561221/und xác định-symbol-pyobob-textnotim vâyed -error-whoen-loading-psycopg2-modu .

Bây giờ libpython2.7.so.1.0đang liên kết với python2.7 của tôi, tất cả dường như hạnh phúc hơn.

Phần cuối cùng tôi cần để tìm ra nó là mod_wsgicài đặt. Nếu bạn chỉ đơn giản là vấn đề:

$ apt-get install libapache2-mod-wsgi

Sau đó, điều này sẽ được biên dịch cho Python2.6 :(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

Vì vậy, tôi đã làm theo hướng dẫn được cung cấp bởi Gork-Zope ở đây .

Tôi cuối cùng đã có một máy chủ làm việc. Cảm ơn bạn.


1

Tôi không nghĩ vậy vì nó sẽ cần thay đổi nhiều chương trình và thư viện liên quan đến phiên bản 10.04. Trên thực tế, nhiều công việc trong Ubuntu được thực hiện bằng một phiên bản python cụ thể. Thay đổi nó thành python sẽ thay đổi rất nhiều tập tin hệ thống.

Đối với 10.10, nó có sẵn từ synaptic / aptitude chỉ bằng cách cài đặt python2.7 (bạn cũng có thể cài đặt 3 và 3.1) nhưng đối với 10.04 thì không có công việc nào được thực hiện cho 10.04.

10.10 có python 2.6 làm mặc định. Xin lỗi nếu câu trả lời không tích cực mà chỉ muốn cho bạn ý tưởng về những thay đổi.

EDIT - Đã thay đổi Python 2.7 thành Python 2.6 theo mặc định vì nó được kiểm tra hai lần từ các bình luận bên dưới. Cảm ơn bạn.


Tôi vừa kiểm tra 10.10 trong hộp ảo, nó có python 2.6.6 theo mặc định, mặc dù có 2.7 gói có sẵn cho maverick. Tôi nghĩ rằng 11.04 của nó có mặc định. Tôi thường tiếp tục cập nhật và thay đổi các bản phát hành nhưng đang xem xét để gắn vào ngày 10.04, vì sự hỗ trợ lâu dài và các tùy chỉnh của tôi.
crodjer

vâng, 11.04 có 2,7 mỗi mặc định kể từ vài ngày
Stefano Palazzo
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.