Cách cài đặt và quản lý nhiều phiên bản Python trên Linux

Ngôn ngữ lập trình Python được giới thiệu vào năm 1991. Trong tất cả những năm này, nó đã trải qua nhiều thay đổi, trong đó mỗi phiên bản thêm và bớt các tính năng khác nhau. Do những thay đổi này, phần mềm được viết bằng phiên bản Python mới hơn có thể hoạt động hoặc không hoạt động với các phiên bản cũ hơn.

Vì vậy điều quan trọng là phải tìm hiểu cách quản lý các phiên bản Python được cài đặt trên máy tính của bạn để chạy tất cả chúng một cách hiệu quả. Hướng dẫn này chỉ cho bạn cách làm điều đó.

Cách cài đặt một phiên bản Python khác

Kỹ thuật đơn giản nhất để quản lý phiên bản Python là sử dụng trình quản lý gói gốc. Python được cài đặt sẵn trên hầu hết các Linux desktop. Nó có hai phiên bản chính: Python2 và Python3. Bạn có thể xác nhận xem hai phiên bản này có sẵn trên máy tính của mình hay không bằng cách sử dụng các lệnh sau:

# Check python3 installation
python3 --version
 
# Check python2 installation
python2 --version

Để cài đặt các phiên bản Python khác với phiên bản được cài đặt sẵn, hãy sử dụng deadsnake PPA (Personal Package Archive) trong các bản phân phối dựa trên Ubuntu.

Nếu bạn chưa bật PPA trên máy của mình, hãy kích hoạt nó bằng lệnh sau:

sudo apt-get install software-properties-common

Sử dụng lệnh này để thêm PPA deadsnake vào nguồn apt:

sudo add-apt-repository ppa:deadsnakes/ppa

Bây giờ, bạn có thể cài đặt bất kỳ phiên bản Python nào mình muốn bằng lệnh sau. Đảm bảo thay thế “3.10” bằng số phiên bản có liên quan.

sudo apt update
sudo apt install python3.10

Sử dụng flag --version để kiểm tra xem phiên bản Python mới của bạn đã được cài đặt đúng cách chưa.

python3.10 --version

Hãy nhớ rằng, nếu bạn kiểm tra phiên bản Python của hệ thống tại thời điểm này, nó vẫn hiển thị số lượng phiên bản được cài đặt sẵn.

Phiên bản Python
Phiên bản Python

Nếu muốn sử dụng phiên bản Python mới cài đặt của mình làm mặc định, bạn có thể sử dụng lệnh update-Alternatives, giúp đặt mức độ ưu tiên cho các phiên bản khác nhau của cùng một phần mềm. Chạy các lệnh sau để đặt python3.10 làm phiên bản Python có mức ưu tiên cao nhất.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2
 
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

Lệnh thứ hai đánh dấu python3.8 thành phiên bản Python được cài đặt sẵn của bạn.

Bạn có thể sử dụng lệnh sau để chuyển đổi giữa các phiên bản Python khác nhau.

sudo update-alternatives --config python

Quản lý dự án Python với môi trường ảo

Python không giỏi trong việc quản lý các depedency. Nếu bạn sử dụng trình cài đặt gói mặc định, pip hoặc pip3 để cài đặt các thư viện và gói Python, nó sẽ cài đặt các gói trên toàn hệ thống. Vì Linux đi kèm với phiên bản Python được cài đặt sẵn và sử dụng các gói khác nhau để chạy hệ điều hành, các gói được cài đặt thủ công trong phạm vi toàn cầu có thể làm gián đoạn hoạt động của nó. Đây là nơi mà một môi trường ảo có ích. Đó là một môi trường Python biệt lập có các công cụ và thư viện riêng độc lập với thiết lập chính. Hãy coi môi trường ảo như một căn phòng biệt lập có dependency tối thiểu.

Nếu không sử dụng môi trường ảo, bạn không có bất kỳ quyền kiểm soát nào đối với các phiên bản của gói bạn đã sử dụng trong dự án của mình, đây là vấn đề khi bạn cố gắng chạy phần mềm của mình trên một máy khác. Do đó, bạn nên sử dụng môi trường ảo cho các dự án Python của mình.

Tạo môi trường ảo với Venv

Venv là cách được khuyến nghị để tạo môi trường ảo bằng Python và nó được cài đặt sẵn. Nếu bạn chưa bao giờ sử dụng venv, trước tiên bạn nên cài đặt các depedency của nó vào máy tính bằng lệnh sau. Thay đổi python3.10 thành phiên bản Python đã cài đặt của bạn trong lệnh.

sudo apt update
sudo apt install python3.10-venv

Bây giờ, hãy tạo một môi trường ảo mới bằng cách sử dụng gói venv. Bài viết đặt tên cho môi trường ảo của mình là "venv." Bạn có thể đặt bất cứ tên nào bạn muốn.

python3 -m venv venv
 
# Let's create a virtual environment named mte
python3 -m venv mte
Tạo môi trường ảo với Venv
Tạo môi trường ảo với Venv

Sau khi tạo môi trường ảo, hãy kích hoạt nó bằng cách tìm kiếm các biến và lệnh của môi trường venv.

source venv/bin/activate

Bây giờ, bạn có thể thấy tiền tố (vnev) trong terminal prompt, có nghĩa là môi trường ảo của bạn hiện đang hoạt động và sẵn sàng để cài đặt các dependency. Hãy cài đặt một dependency mới được gọi là "yêu cầu" bên trong môi trường ảo mới được tạo.

python -m pip install requests

Để hủy kích hoạt môi trường ảo, hãy chạy lệnh hủy kích hoạt bên trong nó.

deactivate
Hủy kích hoạt môi trường ảo
Hủy kích hoạt môi trường ảo

Tạo môi trường ảo với Virtualenv

virtualenv là công cụ phổ biến nhất để tạo môi trường ảo Python. Nó là một superset của venv, có nghĩa là virtualenv có thể làm tất cả những điều mà venv có thể và hơn thế nữa.

Bạn có thể tạo các môi trường ảo với những phiên bản Python khác nhau bằng virtualenv. Nó cũng cho phép bạn sử dụng các phiên bản khác nhau và cụ thể của cùng một gói trong các dự án - một tính năng không có trong gói venv.

virtualenv có một lệnh tương tự như venv để tạo môi trường ảo.

virtualenv venv

Một môi trường ảo mới có tên “venv” được tạo từ lệnh trên. Để kích hoạt môi trường ảo, hãy source tới file kích hoạt.

source venv/bin/activate
Kích hoạt môi trường ảo
Kích hoạt môi trường ảo

Bây giờ, bạn có thể thấy tiền tố (venv) trong terminal prompt cho biết rằng môi trường ảo đã được kích hoạt.

Để tạo môi trường ảo với các phiên bản Python khác nhau, bạn nên sử dụng flag --python hoặc -p và cung cấp vị trí của file thực thi Python. Ví dụ, nếu bạn muốn tạo một môi trường ảo với Python 2.6, một phiên bản Python rất cũ, thì lệnh sẽ có dạng như sau:

virtualenv --python="/usr/bin/python2.6" venv
Tạo môi trường ảo với các phiên bản Python khác nhau
Tạo môi trường ảo với các phiên bản Python khác nhau

Tạo môi trường ảo với Miniconda/Anaconda

Conda là một trình quản lý gói giống như pip. Nhưng khác với pip, Conda hỗ trợ nhiều ngôn ngữ lập trình và có cách tiếp cận khác để tạo môi trường ảo. Conda được phát triển độc lập với pip.

Bạn có thể sử dụng Conda bằng cách cài đặt gói Miniconda. Nếu bạn yêu thích khoa học dữ liệu và machine learning, bạn cũng có thể cài đặt gói Anaconda bao gồm tất cả các gói liên quan đến khoa học dữ liệu.

Để cài đặt Miniconda trên máy Linux, hãy tải xuống Miniconda cho phiên bản Python có liên quan và chạy shell script này trong terminal để thiết lập Miniconda tự động.

./Miniconda3<version name goes here>.sh

Sau khi cài đặt, một môi trường Miniconda mặc định được gọi là “base” được tạo. Nếu bạn chạy lệnh cài đặt conda, các phiên bản mới nhất của gói bạn yêu cầu sẽ được cài đặt trong môi trường. Nếu môi trường Conda của bạn chưa được kích hoạt, hãy kích hoạt nó bằng lệnh này.

conda activate base
Kích hoạt môi trường Conda
Kích hoạt môi trường Conda

Conda giúp bạn dễ dàng tạo môi trường cho các phiên bản Python khác nhau. Tất cả những gì bạn phải làm là chỉ định phiên bản Python chính xác trong lệnh. Sau đó Conda sẽ tự động tải xuống, cài đặt và thiết lập tất cả các depedency cho bạn.

Ví dụ, nếu bạn muốn Python phiên bản 3.7 trong môi trường Conda, lệnh sẽ có dạng như thế này.

conda create -n "myenv" python=3.7

Sau khi tạo và kích hoạt môi trường này, bạn có thể sử dụng nó để cài đặt phần mềm yêu thích của mình, chẳng hạn như NumPy:

conda install numpy

Chạy script Python3 với “Python”

Sẽ trực quan hơn khi gõ python thay vì python3 để chạy script Python. Bạn có thể thực hiện chuyển đổi này tự động nếu bạn sử dụng gói “python-is-python3” trong Linux. Sau khi cài đặt gói này, lệnh python tự động sử dụng mã nhị phân python3.

Gói “python-is-python3” có sẵn trong kho lưu trữ Ubuntu và bạn có thể cài đặt nó bằng trình quản lý gói apt.

sudo apt update
sudo apt install python-is-python3
Chạy script Python3 với “Python”
Chạy script Python3 với “Python”

Xem thêm:

Thứ Tư, 19/10/2022 13:30
51 👨 795
0 Bình luận
Sắp xếp theo
    ❖ Linux