Trong hướng dẫn này, hãy xem cách đặt Python mặc định trong hệ thống của chúng tôi dựa trên phiên bản Python ưa thích của chúng tôi. Hầu hết các bản phân phối Linux thường có bản phát hành Python ổn định mới nhất được bao gồm làm mặc định và trong các hệ thống cũ hơn, Python2 không dùng nữa. * là mặc định
Chúng ta sẽ xem cách chúng ta có thể thay đổi Python mặc định bằng cách sử dụng các lệnh alias và update-alternatives
2. Đặt mặc định bằng lệnh bí danh
Trước khi chúng tôi thực hiện bất kỳ thay đổi nào, hãy kiểm tra phiên bản Python nào có sẵn trong hệ thống của chúng tôi
$ python --version
Python 3.10.6
$ python3 --version
Python 3.10.6
Trong đoạn mã trên, lệnh python với tùy chọn –version hiển thị phiên bản Python hiện được đặt mặc định của hệ thống của chúng tôi. Tương tự như vậy, python3 hiển thị bất kỳ phiên bản Python3 nào được cài đặt
Để kiểm tra Python2, chúng tôi chạy python2 –version. Ngoài ra, chúng ta có thể chạy python -V để có kết quả tương tự
Lệnh bí danh cho phép chúng ta tạo lối tắt cho các lệnh hoặc ghi đè các tùy chọn mặc định cho các lệnh hiện có. Giả sử chúng tôi đã cài đặt Python3. 8 trong thư mục /usr/bin và muốn nó làm Python mặc định của chúng ta, chúng ta có thể sử dụng lệnh alias
$ alias python=/usr/bin/python3.8
Trong ví dụ này, chúng tôi đã ghi đè Python mặc định và đặt cái ưa thích của chúng tôi
Sử dụng bí danh, chúng ta có thể đặt cả lệnh python và python3 vào cùng một đường dẫn. Tuy nhiên, khi tắt máy hoặc khởi động lại, cài đặt không được giữ lại. Vì lý do này, để thực hiện thay đổi vĩnh viễn, chúng tôi cần chỉnh sửa tệp bash_aliases bằng cách thêm bí danh của chúng tôi vào tệp đó
$ sudo vi ~/.bash_aliases
alias python=/usr/bin/python3.8
alias python3=/usr/bin/python3.8
Sau đó, chúng tôi lưu tệp và kích hoạt bí danh
$ source ~/.bash_aliases
Điều quan trọng là không thêm bí danh của chúng tôi vào ~/. tập tin bashrc. Điều này là do nếu chúng tôi làm như vậy, chúng tôi sẽ không thể sử dụng lệnh bí danh với sudo
Một lần nữa, hãy kiểm tra phiên bản và tìm hiểu phiên bản mặc định được đặt là gì
$ python --version
Python 3.8.16
3. Sử dụng lệnh update-alternatives
Bây giờ, chúng ta sẽ xem cách chúng ta có thể đặt phiên bản Python mặc định thành bất kỳ phiên bản nào chúng ta muốn bằng lệnh update-alternatives. Chúng tôi sử dụng lệnh này để duy trì các liên kết tượng trưng xác định các lệnh mặc định
Giả sử chúng ta đã cài đặt một số phiên bản Python. Chẳng hạn, giả sử đây là những phiên bản chúng tôi hiện có
$ whereis python
python: /usr/bin/python3.5-config /usr/bin/python3.5m-config /usr/bin/python2.7 /usr/bin/python3.5 /usr/bin/python3.5m /usr/bin/python /usr/lib/python2.7 /usr/lib/python3.5 /etc/python2.7 /etc/python3.5 /etc/python /usr/local/bin/python3.11-config /usr/local/bin/python3.11 /usr/local/lib/python2.7 /usr/local/lib/python3.5 /usr/local/lib/python3.11 /usr/include/python3.5 /usr/include/python3.5m /usr/share/python /usr/share/man/man1/python.1.gz
Tiếp theo, giả sử chúng ta muốn Python trong /usr/local/bin/python3. 11 đặt làm mặc định. Chúng tôi sẽ sử dụng lệnh update-alternatives theo cú pháp này
$ sudo update-alternatives --install needs
Chúng ta nên lưu ý rằng các cờ có số ưu tiên cao hơn sẽ có quyền ưu tiên cao hơn trong chế độ tự động
$ sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.11 20
$ sudo update-alternatives --config python
There are 2 choices for the alternative python [providing /usr/bin/python].
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/bin/python3.11 20 auto mode
1 /usr/bin/python3 10 manual mode
2 /usr/local/bin/python3 20 manual mode
Press to keep the current choice[*], or type selection number:
Tùy theo phiên bản Python mà chúng ta muốn để mặc định, chúng ta chọn 1 số hiển thị rồi nhấn vào phím enter
Một lần nữa, hãy kiểm tra xem phiên bản Python đã thay đổi thành phiên bản có trong đường dẫn chúng tôi đã chọn chưa
________số 8_______Nếu chỉ có một liên kết duy nhất, chúng tôi sẽ gặp lỗi này
$ sudo update-alternatives --config python
There is only one alternative in link group python [providing /usr/bin/python]:
/usr/bin/python3 Nothing to configure.
Ngoài ra, chúng tôi cũng sẽ gặp lỗi này nếu chúng tôi không đặt số ưu tiên
$ alias python=/usr/bin/python3.8
04. Phần kết luận
Trong bài viết này, chúng tôi đã xem xét hai cách để đặt phiên bản Python mặc định theo sở thích của chúng tôi. Chúng tôi cũng đã thảo luận về một số lỗi phổ biến mà chúng tôi gặp phải khi sử dụng lệnh update-alternatives
tác giả dưới cùng
Nếu bạn có một vài năm kinh nghiệm trong hệ sinh thái Linux và bạn muốn chia sẻ trải nghiệm đó với cộng đồng, hãy xem Nguyên tắc đóng góp của chúng tôi