Trang chủ Linux Alma Linux Lang / Development Alma Linux Install Python 3.11 trên AlmaLinux 9

Install Python 3.11 trên AlmaLinux 9

Trong bài viết này, chúng tôi sẽ tìm hiểu quá trình install Python 3.11 trên AlmaLinux 9. Bạn cần có một hệ thống Rocky/Alma Linux hoạt động dựa trên RHEL 9. Cả Python 2.7 và Python 3.6 đã đạt đến EOL và điều này đòi hỏi các nhà phát triển Python nâng cấp lên các phiên bản Python mới hơn. Python 3.11 là phiên bản mới nhất vào thời điểm cập nhật bài viết này.

Python là ngôn ngữ lập trình mạnh mẽ được biết đến với sự dễ sử dụng của nó. Là một ngôn ngữ thông dịch có nghĩa là nó có cú pháp thanh lịch và kiểu động. Hầu hết các thư viện và trình thông dịch Python đều có sẵn dưới dạng mã nguồn hoặc dạng nhị phân và được phân phối miễn phí.

Bộ thông dịch Python dễ dàng được mở rộng với các chức năng và kiểu dữ liệu mới được thực hiện bằng C hoặc C++. Python cũng là một ngôn ngữ mở rộng lý tưởng cho các ứng dụng tuỳ chỉnh. 

Một số tính năng mới của Python 3.11 bao gồm:

  • Mã lỗi chi tiết hơn
  • Các nhóm nhiệm vụ và ngoại lệ để đơn giản hóa việc làm việc với mã bất đồng bộ.
  • Thực thi mã nhanh hơn nhờ dự án Faster CPython.
  • Các tính năng gõ tĩnh mới để cải thiện hỗ trợ gõ tĩnh của Python.
  • Hỗ trợ TOML native để làm việc với các tệp cấu hình.
  • Cải thiện Biến loại - PEP 646: Biến loại đa biến, PEP 673: loại tự thân, PEP 675: loại chuỗi văn bản tùy ý, PEP 681: chuyển đổi lớp dữ liệu và PEP 655: đánh dấu từng mục TypedDict là bắt buộc hoặc có thể bị thiếu.
  • Python 3.11 có thời gian khởi động nhanh hơn.
  • Python 3.11 hỗ trợ Ghi chú ngoại lệ để hỗ trợ việc thêm các ghi chú tùy ý vào mã của bạn.
  • Hỗ trợ Zero-Cost Exceptions lấy cảm hứng từ các ngôn ngữ khác như C++ và Java.
  • Định dạng số thực số không âm (Negative Zero Formatting).

Install Python 3.11 trên AlmaLinux 9

Với tất cả thông tin nền tảng trên, chúng ta bây giờ chuyển sang việc tập trung vào cài đặt thực tế của Python 3.11 trên Rocky Linux 9 / AlmaLinux 9. Đầu tiên, hãy đảm bảo hệ thống được cập nhật.

sudo dnf -y update

Nếu bạn kiểm tra phiên bản Python3 hiện có trong hệ thống, bạn sẽ nhận thấy đó không phải là phiên bản mới nhất.

$ python3 -V
Python 3.9.14

Chúng ta sẽ xem xét hai phương pháp cài đặt.

Phương pháp 1: Install Python 3.11 từ kho hệ điều hành

Trong thời điểm cập nhật bài viết này, gói Python 3.11 đã có sẵn trên các hệ thống Linux dựa trên RHEL 9. Cài đặt bằng cách thực thi các lệnh sau.

sudo dnf install python3.11

Chấp nhận lời nhắc với phím y để tiếp tục cài đặt.

...
Dependencies resolved.
=====================================================================================================================
 Package                                 Architecture       Version                      Repository             Size
=====================================================================================================================
Installing:
 python3.11                              x86_64             3.11.5-1.el9_3               appstream              26 k
Installing dependencies:
 libnsl2                                 x86_64             2.0.0-1.el9.0.1              appstream              30 k
 libtirpc                                x86_64             1.3.3-2.el9                  baseos                 92 k
 mpdecimal                               x86_64             2.5.1-3.el9                  appstream              85 k
 python3.11-libs                         x86_64             3.11.5-1.el9_3               appstream             9.3 M
 python3.11-pip-wheel                    noarch             22.3.1-4.el9_3.1             appstream             1.4 M
 python3.11-setuptools-wheel             noarch             65.5.1-2.el9                 appstream             712 k

Transaction Summary
=====================================================================================================================
Install  7 Packages

Total download size: 12 M
Installed size: 47 M
Is this ok [y/N]: y

Cài đặt trình quản lý gói PIP Python 3.11.

sudo dnf install python3.11-pip

Kiểm tra phiên bản Python 3.11 đã cài đặt.

$ python3.11 --version
Python 3.11.5

Các module Python 3.11 có thể được cài đặt với lệnh sau;

sudo dnf install python3.11-

Để có danh sách đầy đủ các module có sẵn, sử dụng lệnh:

sudo dnf search python3.11

Phương pháp 2: Install Python 3.11 từ nguồn

Điều này sẽ cho phép bạn cài đặt phiên bản mới nhất của Python 3.11 trên Rocky / Alma / CentOS 9. Đối với phương pháp này, làm theo các bước trong các phần tiếp theo.

1. Cài đặt các phụ thuộc cần thiết

Đầu tiên, chúng ta cài đặt các phụ thuộc cần thiết để xây dựng Python 3.11 trên Rocky Linux / AlmaLinux 9

sudo dnf install vim wget openssl-devel bzip2-devel libffi-devel -y

Ngoài ra, cũng nên cài đặt các công cụ phát triển trên hệ thống.

sudo dnf -y groupinstall "Development Tools"

2. Tải xuống tệp nguồn Python 3.11

Tiếp theo, chúng ta cần tải xuống Python 3.11 từ trang web chính thức.

VERSION=3.11.9
wget https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tgz

Giải nén tệp đã tải về

tar xvf Python-$VERSION.tgz

3. Install Python 3.11 trên AlmaLinux 9

Chuyển đến thư mục đã tạo sau khi giải nén tệp.

cd Python-$VERSION

Chạy tập lệnh cấu hình với tối ưu hóa.

./configure --enable-optimizations

Bây giờ biên dịch và cài đặt Python 3.11 trên Rocky 9 / AlmaLinux 9

sudo make altinstall

Sau khi cài đặt thành công, xác nhận phiên bản Python trên hệ thống.

$ python3.11 --version
Python 3.11.4

Làm tương tự cho pip

$ pip3.11 --version
pip 22.3.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

Pip3 có thể được nâng cấp bằng các lệnh sau

sudo /usr/local/bin/python3.11 -m pip install --upgrade pip

4. Install Python 3.11 modules

Python cung cấp một bộ sưu tập lớn các module và gói mở rộng tính năng cho các mục đích khác nhau. Dưới đây là một số module thông dụng trong Python. Chúng có thể được cài đặt bằng công cụ quản lý gói Python, pip.

# Global install
pip3.11 install  --user

# User space install
pip3.11 install   --user

Xem ví dụ về cách cài đặt module awscli Python.

$ pip3.11 install awscli --user
Collecting awscli
  Downloading awscli-1.27.126-py3-none-any.whl (4.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.1/4.1 MB 23.9 MB/s eta 0:00:00
Collecting botocore==1.29.126 (from awscli)
  Downloading botocore-1.29.126-py3-none-any.whl (10.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.7/10.7 MB 46.5 MB/s eta 0:00:00
Collecting docutils<0.17,>=0.10 (from awscli)
  Downloading docutils-0.16-py2.py3-none-any.whl (548 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 548.2/548.2 kB 36.6 MB/s eta 0:00:00
Collecting s3transfer<0.7.0,>=0.6.0 (from awscli)
  Downloading s3transfer-0.6.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.6/79.6 kB 11.5 MB/s eta 0:00:00
Collecting PyYAML<5.5,>=3.10 (from awscli)
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 22.9 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting colorama<0.4.5,>=0.2.5 (from awscli)
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting rsa<4.8,>=3.1.2 (from awscli)
  Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting jmespath<2.0.0,>=0.7.1 (from botocore==1.29.126->awscli)
  Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting python-dateutil<3.0.0,>=2.1 (from botocore==1.29.126->awscli)
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 35.6 MB/s eta 0:00:00
Collecting urllib3<1.27,>=1.25.4 (from botocore==1.29.126->awscli)
  Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 kB 23.7 MB/s eta 0:00:00
Collecting pyasn1>=0.1.3 (from rsa<4.8,>=3.1.2->awscli)
  Downloading pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.9/83.9 kB 8.1 MB/s eta 0:00:00
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore==1.29.126->awscli)
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: PyYAML
  Building wheel for PyYAML (pyproject.toml) ... done
  Created wheel for PyYAML: filename=PyYAML-5.4.1-cp311-cp311-linux_x86_64.whl size=45657 sha256=ef02ec772c6604154dc4d3a7b6d6eaec1fd79043a3472aa8a94d3acb2dd183bc
  Stored in directory: /root/.cache/pip/wheels/2f/2f/af/a062a8f866dc44812a825da11175d50d7f255900f3b38c79b5
Successfully built PyYAML
Installing collected packages: urllib3, six, PyYAML, pyasn1, jmespath, docutils, colorama, rsa, python-dateutil, botocore, s3transfer, awscli
Successfully installed PyYAML-5.4.1 awscli-1.27.126 botocore-1.29.126 colorama-0.4.4 docutils-0.16 jmespath-1.0.1 pyasn1-0.5.0 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.6.0 six-1.16.0 urllib3-1.26.15

Để cài đặt một phiên bản gói cụ thể, sử dụng cú pháp sau đây.

python3.11 -m pip install "package_name==1.1.3"

Trong bài viết này, chúng tôi đã chỉ ra cách install Python 3.11 trên hệ thống Linux Rocky 9 / AlmaLinux 9. Chúng tôi bắt đầu bằng việc tìm hiểu các tính năng chính liên quan đến Python 3.11 và sau đó là quy trình cài đặt từng bước. Cuối cùng, chúng tôi đã xem xét một ví dụ về việc sử dụng trình quản lý gói pip để cài đặt một module Python. Chúng tôi hy vọng bài viết này hữu ích và chúng tôi xin chân thành cảm ơn bạn đã ghé thăm trang web của chúng tôi.