- vừa được xem lúc

Hướng dẫn cài đặt Python 3.12 trên Amazon Linux với OpenSSL và Pip

0 0 1

Người đăng: Quang Định Trương

Theo Viblo Asia

Cài đặt Python 3 trên Amazon Linux với OpenSSL và Pip

image.png

Giới thiệu

Bài viết này hướng dẫn chi tiết cách cài đặt Python 3.12 trên Amazon Linux với OpenSSL và Pip.

Python là một ngôn ngữ lập trình phổ biến được sử dụng rộng rãi trong khoa học dữ liệu, phát triển web và nhiều ứng dụng khác.

Việc cài đặt Python kết hợp với OpenSSL để đảm bảo khi cài đặt các gói pip không gây ra lỗi SSL, giúp bạn tạo môi trường phát triển Python an toàn và hiệu quả trên Amazon Linux.

Các bước cài đặt

0. Xoá toàn bộ Python3.12 và các dependencies cũ

Bước này giúp bạn xoá toàn bộ Python3.12 và các dependencies cũ trên Amazon Linux trước khi cài đặt Python mới. Để xoá Python3.12 và các dependencies cũ, hãy sử dụng lệnh sau:

#Kiểm tra phiên bản Python 3.12 đang sử dụng
which python3.12
python3.12 --version
ls /usr/bin/python3.12 # Remove Python directories
sudo rm -rf /usr/lib/python3.12
sudo rm -rf /usr/local/lib/python3.12
sudo rm -rf /usr/include/python3.12
sudo rm -rf /usr/local/include/python3.12
sudo rm -rf /usr/share/python3.12
sudo rm -rf /usr/local/share/python3.12 #Clean package manager cache
sudo yum clean all #Verify Python 3.12 is removed
which python3.12
python3.12 --version 

1. Cập nhật hệ thống

Trước khi cài đặt Python 3, hãy cập nhật hệ thống Amazon Linux của bạn để đảm bảo bạn có các gói phần mềm mới nhất.

sudo yum update -y

2. Cài đặt Required Development Tools

Để biên dịch Python từ source code, bạn cần cài đặt các công cụ phát triển và thư viện cần thiết như sau:

sudo yum groupinstall "Development Tools" -y
sudo yum install gcc bzip2-devel libffi-devel -y

3. Cài đặt OpenSSL

OpenSSL là một thư viện mã hóa quan trọng, cung cấp các chức năng và giao thức mã hóa cần thiết cho các ứng dụng Python để thiết lập kết nối an toàn qua mạng. Nó đóng vai trò then chốt trong việc đảm bảo an ninh internet và quản lý máy chủ bằng cách cung cấp các chức năng mã hóa như tạo certificate, mã hóa dữ liệu, xác thực và nhiều chức năng khác.

Sau khi cài đặt các gói cần thiết, hãy sử dụng lệnh sau để cài đặt OpenSSL 1.1:

sudo yum install openssl11 openssl11-devel -y

Để đảm bảo OpenSSL 1.1 đã được cài đặt thành công, hãy kiểm tra phiên bản OpenSSL bằng lệnh sau:

openssl version

image.png

4. Cài đặt Python 3 từ Python.org

  1. Tải xuống mã nguồn Python:
cd /tmp
sudo wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz
  1. Giải nén tệp Python:
sudo tar xzf Python-3.12.8.tgz
  1. Cấu hình trước khi biên dịch:

Trước tiên cần cấu hình Python để sử dụng OpenSSL 1.1 đã cài đặt. Để làm điều này, hãy sử dụng lệnh sau:

cd Python-3.12.8
# Xác định đường dẫn của OpenSSL 1.1
which openssl11
sudo ./configure --with-openssl={target_path}
# Ví dụ: sudo ./configure --with-openssl=/usr/bin/openssl11
sudo ./configure --enable-optimizations
  1. Biên dịch và cài đặt Python 3:

Biên dịch và cài đặt Python 3 từ source code Python (Đợi một lúc cũng kha khá thời gian)

sudo make
sudo make altinstall

Sử dụng make altinstall để tránh ghi đè lên tệp nhị phân python mặc định /usr/bin/python.

  1. Kiểm tra phiên bản Python 3:
python3.12 --version

image.png 5. (Optional) Thay đổi phiên bản Python mặc định:

sudo ln -s /usr/local/bin/python3.12 /usr/local/bin/python3

Điều này cho phép bạn sử dụng lệnh python3 để gọi phiên bản Python 3.12 vừa cài đặt. Nếu bạn không muốn sử dụng phiên bản Python 3.12 làm mặc định, hãy bỏ qua bước này.

6. Kiểm tra cài đặt OpenSSL với Python 3

Để đảm bảo OpenSSL được tích hợp đúng cách với Python 3, hãy chạy lệnh sau:

python3.12 -c "import ssl; print(ssl.OPENSSL_VERSION)"

image.png Lệnh này sẽ hiển thị phiên bản OpenSSL mà Python 3 đang sử dụng.

7. (Tùy chọn) Thiết lập môi trường ảo

Môi trường ảo giúp cô lập các gói Python cho các dự án khác nhau. Điều này cho phép bạn quản lý các gói cụ thể cho từng dự án, tránh xung đột giữa các dự án khác nhau và đảm bảo rằng mỗi dự án đều có môi trường Python riêng biệt. Để thiết lập môi trường ảo, trước tiên hãy cài đặt gói virtualenv:

cd ~
python3.12 -m ensurepip --upgrade
pip3.12 install virtualenv

Sau đó, tạo một môi trường ảo mới:

python3.12 -m venv <tên_môi trường_ảo>

Để kích hoạt môi trường ảo, sử dụng lệnh:

source <tên_môi trường_ảo>/bin/activate

Bây giờ bạn có thể cài đặt các gói Python trong môi trường ảo này mà không ảnh hưởng đến môi trường Python toàn cục.

Phụ lục

Lệnh hữu ích

Lệnh Mô tả Ví dụ
sudo yum update-y Cập nhật hệ thống sudo yum update-y
python3--version Kiểm tra phiên bản Python 3 python3--version
sudo yum install openssl11 Cài đặt OpenSSL 1.1 sudo yum install openssl11
python3-c "import ssl; print(ssl.OPENSSL_VERSION)" Kiểm tra phiên bản OpenSSL trong Python 3 python3-c "import ssl; print(ssl.OPENSSL_VERSION)"
sudo python3-m ensurepip --upgrade Nâng cấp ensurepip sudo python3-m ensurepip --upgrade
sudo pip3 install virtualenv Cài đặt virtualenv sudo pip3 install virtualenv
python3-m venv <tên_môi trường_ảo> Tạo môi trường ảo python3-m venv myenv
source<tên_môi trường_ảo>/bin/activate Kích hoạt môi trường ảo source myenv/bin/activate

Các vấn đề thường gặp và giải pháp

1. Lỗi OpenSSL

Nếu bạn gặp lỗi liên quan đến OpenSSL khi cài đặt Python 3 từ nguồn, hãy đảm bảo rằng bạn đã cài đặt các thư viện libbz2-dev, openssl, libssl-dev và liblzma-dev 14. Các thư viện này cung cấp các chức năng cần thiết cho OpenSSL để hoạt động chính xác với Python.

Bạn có thể kiểm tra phiên bản SSL mà Python đang sử dụng bằng lệnh

 python \-c "import ssl; print(ssl.OPENSSL\_VERSION)"

Nếu phiên bản OpenSSL thấp hơn 1.1.1, bạn có thể cần cập nhật OpenSSL lên phiên bản mới hơn hoặc hạ cấp urllib3 xuống phiên bản cũ hơn hỗ trợ OpenSSL 1.0.2 bằng lệnh

pip install 'urllib3\<2.0'

Việc hạ cấp urllib3 có thể là giải pháp tạm thời nếu bạn không thể cập nhật OpenSSL ngay lập tức.

Ngoài ra, một vấn đề khác có thể xảy ra là biến môi trường LD_LIBRARY_PATH không được thiết lập chính xác. Biến này chỉ định đường dẫn đến các thư viện dùng chung mà hệ thống sẽ tìm kiếm khi chạy chương trình. Nếu LD_LIBRARY_PATH không bao gồm đường dẫn đến thư viện OpenSSL, Python có thể không tìm thấy OpenSSL và gây ra lỗi.

Tổng kết

Việc cài đặt Python 3 với OpenSSL và Pip trên Amazon Linux là bước quan trọng để thiết lập một môi trường phát triển Python an toàn và hiệu quả. O penSSL đảm bảo an ninh cho các kết nối mạng và mã hóa dữ liệu, trong khi Pip giúp bạn dễ dàng quản lý các thư viện Python. Bằng cách làm theo các bước được nêu trong bài viết này, bạn có thể cài đặt Python 3, OpenSSL và Pip, đồng thời thiết lập môi trường ảo để quản lý các dự án Python của mình một cách hiệu quả. Việc sử dụng môi trường ảo giúp cô lập các gói Python cho từng dự án, tránh xung đột và đảm bảo tính ổn định cho ứng dụng của bạn.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Thao tác với File trong Python

Python cung cấp các chức năng cơ bản và phương thức cần thiết để thao tác các file. Bài viết này tôi xin giới thiệu những thao tác cơ bản nhất với file trong Python.

1 1 135

- vừa được xem lúc

Tập tành crawl dữ liệu với Scrapy Framework

Lời mở đầu. Chào mọi người, mấy hôm nay mình có tìm hiểu được 1 chút về Scrapy nên muốn viết vài dòng để xem mình đã học được những gì và làm 1 demo nho nhỏ.

1 1 238

- vừa được xem lúc

Sử dụng Misoca API (oauth2) với Python

Với bài viết này giúp chúng ta có thể nắm được. ・Tìm hiểu cách xử lý API misoca bằng Python.

1 1 123

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 3)

Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!. Ở phần trước, các bạn đã biết được cách lấy dữ liệu một row hoặc column trong Pandas DataFame rồi phải không nào. 6 Hoc.

1 1 137

- vừa được xem lúc

Lập trình socket bằng Python

Socket là gì. Một chức năng khác của socket là giúp các tầng TCP hoặc TCP Layer định danh ứng dụng mà dữ liệu sẽ được gửi tới thông qua sự ràng buộc với một cổng port (thể hiện là một con số cụ thể), từ đó tiến hành kết nối giữa client và server.

0 0 149

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 2)

Nào, chúng ta cùng đến với phần 2 của series Pandas DataFrame. Truy xuất Labels và Data. Bạn đã biết cách khởi tạo 1 DataFrame của mình, và giờ bạn có thể truy xuất thông tin từ đó. Với Pandas, bạn có thể thực hiện các thao tác sau:.

0 0 166