Trình quản lý gói - cấp người dùng
Đối với trình quản lý gói có thể cài đặt và quản lý nhiều phiên bản python, đây là những lựa chọn tốt:
- pyenv - chỉ có thể cài đặt và quản lý các phiên bản của python
- asdf - có thể cài đặt và quản lý nhiều ngôn ngữ khác nhau
Ưu điểm của các trình quản lý gói này là có thể dễ dàng thiết lập và cài đặt nhiều phiên bản python với chúng hơn là cài đặt python từ nguồn. Họ cũng cung cấp các lệnh để dễ dàng thay đổi (các) phiên bản python có sẵn bằng cách sử dụng miếng chêm và đặt phiên bản python trên mỗi thư mục.
Nhược điểm này là theo mặc định, chúng được cài đặt ở cấp người dùng (bên trong thư mục chính của bạn) và yêu cầu một chút cấu hình cấp người dùng - bạn sẽ cần chỉnh sửa các tệp của mình ~/.profilevà ~/.bashrchoặc các tệp tương tự. Điều này có nghĩa là không dễ sử dụng chúng để cài đặt nhiều phiên bản python trên toàn cầu cho tất cả người dùng. Để làm điều này, bạn có thể cài đặt từ nguồn cùng với phiên bản python hiện có của hệ điều hành.
Cài đặt từ nguồn - toàn hệ thống
Bạn sẽ cần quyền root cho phương pháp này.
Xem tài liệu chính thức về python để xây dựng từ nguồn để có thêm các cân nhắc và tùy chọn.
/usr/locallà vị trí được chỉ định để quản trị viên hệ thống cài đặt phần mềm được chia sẻ (trên toàn hệ thống), vì vậy các thư mục con của nó là nơi tốt để tải xuống nguồn python và cài đặt. Xem phần 4.9 của Tiêu chuẩn phân cấp tệp của Quỹ Linux .
Cài đặt bất kỳ phụ thuộc xây dựng nào. Trên hệ thống dựa trên Debian, hãy sử dụng:
apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
Chọn phiên bản python bạn muốn cài đặt. Xem trang Bản phát hành nguồn Python để biết danh sách.
Tải xuống và giải nén tệp trong /usr/local/src, thay thế X.X.Xbên dưới bằng phiên bản python (tức là 3.8.2).
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
Trước khi xây dựng và cài đặt, hãy đặt CFLAGSbiến môi trường với cờ trình biên dịch C cần thiết (xem maketài liệu của GNU ). Điều này thường không cần thiết cho việc sử dụng chung, nhưng nếu, ví dụ: bạn định tạo một plugin uWSGI với phiên bản python này, bạn có thể muốn đặt cờ -fPIC, với những điều sau:
export CFLAGS='-fPIC'
Thay đổi thư mục làm việc thành thư mục nguồn python đã giải nén và định cấu hình bản dựng. Có thể bạn sẽ muốn sử dụng --enable-optimizationstùy chọn trên ./configurelệnh để tối ưu hóa có hướng dẫn cấu hình . Sử dụng --prefix=/usr/localđể cài đặt vào các thư mục con thích hợp ( /usr/local/bin, /usr/local/lib, vv).
cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
Xây dựng dự án bằng makevà cài đặt với make altinstallđể tránh ghi đè bất kỳ tệp nào khi cài đặt nhiều phiên bản. Xem cảnh báo trên trang này của tài liệu xây dựng python.
make -j 4
make altinstall
Sau đó, bạn sẽ có thể chạy các phiên bản python và pip mới của mình với pythonX.Xvà pipX.X(tức là python3.8và pip3.8). Lưu ý rằng nếu phiên bản nhỏ của cài đặt mới của bạn giống với phiên bản của hệ điều hành (ví dụ: nếu bạn đang cài đặt python3.8.4 và hệ điều hành sử dụng python3.8.2), thì bạn sẽ cần chỉ định toàn bộ đường dẫn ( /usr/local/bin/pythonX.X) hoặc đặt một bí danh để sử dụng phiên bản này.