Làm cách nào tôi có thể nâng cấp Python lên 2.7.9 trên Ubuntu 14.4?


32

Ubuntu 14.4 đi kèm với Python 2.7.6 tích hợp, nhưng tôi muốn nâng cấp nó lên 2.7.9 (nó có các tính năng bảo mật mà tôi muốn).

Điều đó thậm chí có thể? Nếu vậy, làm thế nào điều này có thể đạt được?


2
Phiên bản ngược dòng của python 2.7 luôn là 2.7.6. Kiểm tra số phiên bản phân phối, và sau đó kiểm tra changelog ( packages.ubuntu.com/source/trusty/python2.7 ) để xem những cập nhật bảo mật đã được backported.
Roger Sherman

Câu trả lời:


16

Bạn có thể sử dụng pyenv:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Sau đó thêm

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

đến .bash_profile sau đó bạn có thể thấy phiên bản python bạn muốn cài đặt hoặc cập nhật:

pyenv install --list

muốn trăn 2.7.10? bạn co thể thử:

 pyenv virtualenv 2.7.10

Hy vọng nó có thể giúp bạn.


Đối với Ubuntu, khối đó hoạt động tốt hơn trong ~ / .bashrc thay vì ~ / .bash_profile. Sau đó, thực hiện "$ SHELL".
brendan

31

ppa: fkrull / dowsnakes là phiên bản mới nhất của python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Nó sẽ nâng cấp python lên 2.7.10


1
đã thử trong các máy phát triển (tất cả 14.04 máy tính để bàn), thay thế rất tốt.
Yonsy Solis

Nhưng tôi thấy nó không tương thích với ứng dụng của tôi.
Thích

4
Coi chừng việc dựa vào gói không chính thức và / hoặc PPA, đặc biệt đối với một thứ cơ bản như Python trong Ubuntu, bỏ qua các quy trình bảo mật quan trọng & có thể dẫn đến nhiều vấn đề. Một số gói rõ ràng phụ thuộc vào các gói hoặc phiên bản chính thức. Thay vào đó, bạn có thể muốn sử dụng virtualenv với phiên bản python mới hơn cho các ứng dụng bạn cần. Xem thêm Nâng cấp lên Python 2.7.9 trên Ubuntu 14.04 LTS và tạo gói .deb của riêng bạn để triển khai - Renoir Boulanger
nealmcb

Tốt Bạn đúng rồi. Tôi đã từ bỏ cách tiếp cận của tôi vài tháng trước.
Giống như

3
Điều này sẽ nâng cấp tất cả các gói của bạn.
mở

10

Tôi không phải là người hâm mộ các câu trả lời trước đó đề nghị cài đặt từ nhiều PPA khác nhau. Không có ý định thiếu tôn trọng, nhưng tôi không biết những người đã xây dựng chúng và tôi không biết những gì có thể có trong đó. Trong bất kỳ môi trường nào mà ai đó phải trả lời cho một chuyên gia bảo mật rằng thực tiễn sẽ được tán thành.

Tôi chỉ thấy rằng tải xuống 2.7.9 từ nguồn và cài đặt nó cạnh nhau là một khởi đầu tốt. Bài viết blog tuyệt vời này bao gồm các bước. (được tạo lại ở đây để tuân thủ các nguyên tắc tràn ngăn xếp)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

Kiểm tra nếu phiên bản hoạt động

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Bây giờ tôi đã cài đặt 2.7.9, tôi có thể gọi trực tiếp hoặc symlink tới nó từ bất cứ nơi nào tôi muốn. (hoặc sao chép nó vào virtualenv, v.v.)

Và lưu ý rằng tôi đã đến đây từ một tình huống mà tôi đang nhận được cảnh báo về nền tảng không an toàn và cảnh báo mất tích của SNI. Mà dẫn tôi đến đây . Tôi tưởng tượng nhiều người đang tìm thấy câu hỏi này thông qua cùng một con đường. Và nếu đó là lý do tại sao bạn ở đây đoạn trích này cũng có thể được sử dụng cho bạn

pip install urllib3[secure]

Đây thực sự là câu trả lời tốt hơn, đặc biệt nếu bạn đang sử dụng virtualenv. Lý do tôi cảm thấy rằng điều này tốt hơn, là nó không dựa vào bất kỳ ứng dụng hoặc kho lưu trữ của bên thứ ba nào có thể phá vỡ thứ gì khác.
Andre

3

Đây là kho lưu trữ của bên thứ ba mới được nâng cấp:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

Bạn có thể truy cập python.org và tải xuống tệp .tar.gz biên dịch và cài đặt nó. Bạn sẽ cần các công cụ cơ bản để biên dịch mã nguồn. Tôi không nhớ nếu gói "xây dựng thiết yếu" sẽ đủ nhưng hãy dùng thử.


2

Phiên bản bạn muốn đã có trong Ubuntu, trong bản phát hành Vivid (trước). Nếu bạn dũng cảm, bạn có thể kết hợp các bản phát hành và cài đặt phiên bản Python của Vivid trong Trusty. Dưới đây là một giải pháp chung hoạt động trên một số gói, tôi không thể bảo hành nó với Python. Cơ hội là ~ 50/50 rằng nó sẽ thành công. Tuy nhiên, nếu bạn tìm thấy một kho lưu trữ backport thích hợp cho 14.04 với phiên bản gói yêu cầu của bạn, thì đó sẽ là một lựa chọn tốt hơn.

  1. Bạn có dòng '... chính đáng tin cậy' /etc/apt/sources.list, sao chép hai lần, thay đổi 'đáng tin cậy' thành 'không tưởng' và 'sống động'.

  2. Chạy đi apt-get updaterồi apt-get -t vivid install python2.7. Xem lại các phụ thuộc được cài đặt trước khi tiến hành. Hủy bỏ nâng cấp khi bạn nghi ngờ bất kỳ thiệt hại cho hệ thống của bạn (đã xóa các gói quan trọng, v.v.).

  3. Loại bỏ hoặc băm hai dòng từ /etc/apt/sources.list.

Không bao giờ làm điều đó trên máy sản xuất. Tạo một bản sao lưu của hệ điều hành của bạn và chuẩn bị phương tiện khởi động để khôi phục nó nếu cần. Mong đợi các vấn đề về nâng cấp. Mày đã được cảnh báo.

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.