Làm cách nào để cài đặt riêng phiên bản Python mới nhất trên Debian hoặc nâng cấp?


35

Tôi vẫn chưa quen với Linux, vì vậy tôi vẫn đang cố gắng tìm hiểu các tệp thực thi và thư viện của chúng ở đâu và cách cài đặt các gói, vì vậy tôi có Debian Wheezy 7.3 có các phiên bản Python này:

  • Python 2.7.3 (mặc định)
  • Python 2.6.8

Vì vậy, trong thư mục /usr/bin/có những tệp mà tôi có thể gọi từ thiết bị đầu cuối:

  • python (là một liên kết đến python2.7)
  • python2 (cũng là một liên kết đến python2.7)
  • python2.6 (thực thi Python 2.6.8)
  • python2.7 (thực thi Python 2.7.3)

và trong /usr/lib/, các thư mục chính:

  • trăn2.6
  • trăn2.7

Hiện tại phiên bản mới nhất của Python là 2.7.6 mà tôi muốn cài đặt, nhưng tôi không biết làm thế nào, tôi đã thử sử dụng apt-get:

apt-get install python

nó đầu ra python is already the newest version..

Vậy làm thế nào tôi có thể cài đặt phiên bản Python mới nhất? trên trang tải xuống Python có tarball nguồn, làm cách nào tôi có thể sử dụng nó để cài đặt nó một cách riêng biệt như có một thư mục khác /usr/lib/giống như python2.7.6và tạo pythonliên kết /usr/bin/trỏ đến tệp thực thi mới hoặc có thể nâng cấp phiên bản hiện tại nếu nó không phá vỡ bất cứ thứ gì .


Bạn có thể backport Python 2.7.6 từ thử nghiệm / không ổn định và thay thế phiên bản 2.7.3 của bạn bằng nó. Điều này rất có thể sẽ không gây ra cho bạn bất kỳ vấn đề. Nếu có, bạn có thể dễ dàng trở lại.
Faheem Mitha

Tôi thậm chí còn không cài đặt nó, cài đặt Debian mới và gõ "python" từ dòng lệnh và tôi đang ở trong vỏ python3.
Frozenjim 24/07/2015

Câu trả lời:


16

Bạn có thể đang tìm kiếm virtualenvhoặc pyenvhoặc một số phương pháp không toàn hệ thống khác để cài đặt Python. Phương pháp sử dụng APT (Advance Package Tool) và dpkg, đảm bảo rằng tất cả các bộ phận của hệ thống đang làm việc trong sự hòa hợp, vì vậy bạn có thể muốn cài đặt python trong một con đường riêng biệt, ẩn tất cả các chương trình khác mà bạn có thể gọi theo ý muốn, đó là mục đích của pyenv/ virtualenv. Câu trả lời này làm thế nào để cài đặt phiên bản mới nhất của python mà không phá vỡ hệ thống .

BTW, bạn có thể kiểm tra phiên bản mới nhất của python mà Debian in madison , trong khi phiên bản mới nhất của python 2 vào ngày này là phiên bản bạn đã chỉ ra:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew không còn được duy trì).


ok Tôi đã cài đặt pip và virtualenv làm root, vậy làm cách nào để tạo môi trường ảo với phiên bản Python mới? Theo như tôi biết thì chúng ta cần cài đặt phiên bản mới trước phải không?
Pierre

1
@Peter Tôi nghĩ rằng bước đầu tiên là pyenv install 2.7.6. Bạn có thể kiểm tra tất cả các phiên bản bằng cách sử dụngpyenv install -l
Braiam

27

Ok sau nhiều lần tìm kiếm, tôi quyết định xây dựng Python từ nguồn, vì vậy tôi đã tải xuống tarball nguồn nén từ trang tải xuống Python , bây giờ chúng tôi cần cài đặt build-essentialgói để có thể biên dịch các tệp nguồn:

apt-get install build-essential

ngoài ra, chúng ta cần cài đặt các gói phát triển được yêu cầu cho một số mô-đun Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

tiếp theo chúng tôi trích xuất tệp nguồn đã tải xuống:

tar zxf Python-2.7.6.tgz

sau đó chúng tôi cdvào thư mục giải nén:

cd Python-2.7.6

và làm theo các hướng dẫn trên tài liệu Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

Tôi đã chọn cài đặt nó trong thư mục /opt/pythonmà tôi đã tạo trước đó, tôi cũng đã sử dụng gói checkinstall để tạo tệp .deb để tôi có thể dễ dàng gỡ cài đặt sau, vì vậy chúng tôi cài đặt nó trước:

apt-get install checkinstall

và thay thế dòng cuối cùng make installbằng:

checkinstall

bây giờ tôi có một cài đặt python mới /opt/python/lib/python2.7và tập tin nhị phân đang ở /opt/python/bin/python2.7.

bây giờ tôi có thể chạy trong dòng lệnh /opt/python/bin/python2.7để sử dụng phiên bản Python này, ngoài ra chúng tôi có thể tạo liên kết đến tệp thực thi này để chúng tôi không nhập đường dẫn đầy đủ, tôi đặt tên cho nó python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

Ngoài ra, thư mục /opt/python/binsẽ chứa các tệp thực thi khác như pipvirtualenvhoặc bất kỳ mô-đun nào khác mà bạn cài đặt để chúng tôi có thể thêm nó vào biến môi trường PATH, chỉnh sửa ~/.profilevà thêm dòng này:

PATH="$PATH:/opt/python/bin"

và chạy:

source ~/.profile

Tôi đã nối đường dẫn đến cuối bởi vì nó chứa các tên thực thi giống như tên giống /usr/binnhư vậy python, python2python2.7vì vậy chúng tôi giữ mức độ ưu tiên cao hơn /usr/bin.


Bây giờ, bạn có biết cách cấu hình python mới của bạn để xem các mô-đun được cài đặt thông qua apt-get không?
elsurudo

Thật không may cho Python 2.6, việc biên dịch từ nguồn không hoạt động chính xác trên Debian 8 (Jessie) nhưng ít nhất là đối với Raspberry Pi, tôi đã có thể sử dụng các gói cũ hơn từ gói.debian.org . Thứ tự, giả sử các yếu tố cần thiết xây dựng đã có sẵn là một cái gì đó như libdb, python2.6-Minimal, python2.6, libpython2.6, python2-6-dev nhưng dpkg -isẽ cho bạn biết những gì cần thiết.
Charlie Clark

1
@elsurudo Điều đó thực sự không có ý nghĩa, bởi vì các mô-đun có thể không được hỗ trợ trên phiên bản mới của bạn. Nếu bạn muốn kiểm soát hoàn toàn Python của mình (giống như khi biên dịch từ nguồn), bạn cũng sẽ muốn cài đặt các mô-đun riêng.
tripleee

-1

bạn có thể dùng:

aptitude install python3.5  

hoặc, nếu bạn chưa cài đặt aptitude, thì bạn có thể cài đặt nó bằng cách sử dụng:

apt-get install aptitude
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.