Cách cài đặt gói Python trong Raspberry Pi OS Bookworm
Bài học chính
Raspberry Pi OS Bookworm yêu cầu triển khai các mô-đun Python trong một nền tảng ảo, như một biện pháp phòng ngừa chống lại bất kỳ sự can thiệp bất lợi nào từ việc triển khai Python mặc định của máy chủ.
Người ta có thể sử dụng trình quản lý gói Apt để tìm kiếm và cài đặt các mô-đun Python; tuy nhiên, trong trường hợp gói không có sẵn hoặc cần có phiên bản cập nhật, cần phải sử dụng tiện ích Pip trong môi trường ảo.
Trong môi trường ảo, mọi sửa đổi hoặc bổ sung đối với Python sẽ không ảnh hưởng đến quá trình cài đặt Python trên toàn hệ thống.
Nếu bạn gặp khó khăn khi cài đặt các gói Python sử dụng tiện ích “pip” trên Raspberry Pi OS Bookworm, thì sẽ có các biện pháp bổ sung cần được thực hiện, bao gồm việc thiết lập môi trường ảo Python. Vui lòng tìm bên dưới các thủ tục cần thiết cho nhiệm vụ này.
Điều gì đã thay đổi ở Bookworm Raspberry Pi OS?
Khi nâng cấp lên thiết bị Raspberry Pi 5 mới nhất, điều quan trọng cần lưu ý là nó có thể không tương thích với các phiên bản hệ điều hành trước đó, cụ thể là Raspberry Pi OS. Do đó, phải thực hiện cài đặt mới phiên bản “Bookworm” mới phát hành để đảm bảo chức năng và khả năng tương thích phù hợp.
Trong các phiên bản trước đây của Raspberry Pi OS dựa trên Debian, chẳng hạn như Buster và các bản phát hành trước đó, người dùng có khả năng cài đặt các gói Python trên toàn cầu thông qua việc sử dụng trình quản lý gói pip. Tuy nhiên, chức năng này đã bị xóa khỏi phiên bản Raspberry Pi OS mới hơn được gọi là Bookworm.
Như Tài liệu về Raspberry Pi giải thích, vấn đề là việc sử dụng một công cụ dành riêng cho Python như pip có thể gây ra xung đột với trình quản lý gói apt OS.
Theo đó, bắt đầu với Bookworm, bắt buộc phải cài đặt các gói trong môi trường ảo Python đã được vệ sinh thông qua việc sử dụng pip, để ngăn chặn mọi khả năng can thiệp vào phiên bản Python của hệ thống.
Khi cố gắng thực thi lệnh “pip install [tên gói]” bên ngoài môi trường ảo, một thông báo lỗi được tạo ra bắt đầu như sau:
error: externally-managed-environment
× This environment is externally managed
•°”€> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
Cách tìm kiếm gói Python bằng Apt
Bước đầu tiên liên quan đến việc xác minh xem gói Python được yêu cầu có thể được cài đặt thông qua trình quản lý gói APT (Công cụ gói nâng cao) trên toàn hệ thống hay không. Để thực hiện tác vụ này, người ta có thể sử dụng lệnh “tìm kiếm apt” để duyệt qua các kho lưu trữ chính thức và tìm các gói có liên quan. Để minh họa, hãy xem xét việc thực hiện lệnh sau:
apt search numpy
Xin lưu ý rằng bạn cần cài đặt một gói cụ thể có tên “python3-numpy” tương thích với Python phiên bản 3. Để làm như vậy, hãy sử dụng trình quản lý gói APT cùng với đặc quyền quản trị viên được cấp bằng cách sử dụng “sudo”.
sudo apt install python3-numpy
Trong trường hợp không thể có được gói Python mong muốn thông qua việc sử dụng trình quản lý gói APT hoặc nếu cần có phiên bản cập nhật, người ta phải sử dụng công cụ pip chuyên dụng trong môi trường ảo Python cho mục đích cài đặt.
Cách tạo môi trường ảo Python
Để cài đặt gói Python sử dụng tiện ích pip trong hệ điều hành Raspberry Pi OS Bookworm, ban đầu cần thiết lập môi trường Python ảo bằng cách sử dụng lệnh venv. Do đó, chúng tôi đã đặt tên cho trường hợp cụ thể của mình là “dự án muo”, mặc dù người ta có thể chọn một tên gọi thay thế theo lựa chọn của họ.
python -m venv muo-project
Thời gian cần thiết để hoàn thành nhiệm vụ này có thể thay đổi tùy theo mẫu Raspberry Pi cụ thể được sử dụng. Sau đó, người ta phải điều hướng đến thư mục môi trường ảo mới được thiết lập, nơi chứa toàn bộ bản cài đặt Python và bắt đầu kích hoạt nó.
cd muo
source bin/activate
Môi trường ảo cho Python đã được thiết lập và khởi chạy thành công, bằng chứng là sự thay đổi trong lời nhắc hệ thống hiện hiển thị “muo-project”, cho biết rằng phiên bản Python cụ thể của môi trường đang được sử dụng thay vì cài đặt hệ thống tiêu chuẩn. Do đó, mọi sửa đổi được thực hiện trong môi trường ảo hoặc các gói được cài đặt trong đó sẽ không ảnh hưởng đến quá trình cài đặt Python cốt lõi trên hệ thống.
Xin lưu ý rằng trong trường hợp khởi động lại hệ thống, chẳng hạn như khởi động lại Raspberry Pi, môi trường thời gian chạy Python phải được kích hoạt lại để tiếp tục sử dụng.
Để thiết lập môi trường ảo Python phản chiếu tất cả các gói Python hiện được cài đặt trên hệ điều hành của bạn, chỉ cần bao gồm tùy chọn --system-site-packages
trong lệnh liên quan. Ví dụ: người ta có thể chỉ định python-m venv--system-site-packages muo-project
.
Cài đặt gói Python bằng Pip
Để tận dụng các khả năng của môi trường ảo Python, người ta có thể sử dụng lệnh pip để cài đặt bất kỳ gói cần thiết nào được yêu cầu cho dự án của họ. Để minh họa, hãy cân nhắc việc cài đặt công cụ kiểm tra sức chịu đựng của hệ thống Stressberry bằng cách thực hiện lệnh sau:
pip install stressberry
Mô-đun này sẽ được cài đặt trong môi trường ảo Python được chỉ định của bạn cùng với các phần phụ thuộc cần thiết của nó. Điều quan trọng cần lưu ý là tính khả dụng của mô-đun chỉ giới hạn trong môi trường ảo nói trên và không vượt ra ngoài môi trường đó.
Không còn xung đột gói Python
Việc sử dụng công cụ pip để cài đặt các gói Python trên Raspberry Pi hoạt động với OS Bookworm đòi hỏi các quy trình bổ sung so với các hệ thống truyền thống; tuy nhiên, cách tiếp cận này mang lại lợi ích là giới hạn các gói này trong các môi trường ảo biệt lập, từ đó ngăn ngừa sự gián đoạn hoặc trục trặc tiềm ẩn của toàn bộ hệ thống.