Điều này có thể gây khó chịu vì lỗi này sẽ không bao giờ xuất hiện trong các phiên bản cũ hơn của Ubuntu, Fedora và các bản phân phối khác. Hãy cùng tìm hiểu chính xác nguyên nhân gây ra lỗi này và cách bạn có thể khắc phục nhanh chóng.
Tại sao xảy ra lỗi “externally-managed-environment”
Các phiên bản mới nhất của tất cả các bản phân phối Linux đều áp dụng các tiêu chuẩn được xác định trong PEP-668. Những thay đổi này đảm bảo rằng các gói pip sẽ không được cài đặt trong bối cảnh chung theo mặc định.
Điều này được thực hiện nhằm tránh xung đột giữa trình quản lý gói của bản phân phối và các công cụ quản lý gói Python. Bạn có thể tìm hiểu chi tiết trong tài liệu PEP-668 chính thức. Nếu muốn hoàn nguyên hoặc ghi đè cơ chế này, bạn có thể thực hiện ba cách tiếp cận.
1. Xóa File “EXTERNALLY-MANAGED”
Đây là cách khắc phục đơn giản nhất đối với lỗi pip “được quản lý bên ngoài”. Tất cả những gì bạn phải làm là điều hướng đến /usr/lib/python3.xx và xóa tệp EXTERNALLY-MANAGED trong thư mục. Dưới đây là các lệnh để làm như vậy:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Đó là tất cả những gì bạn cần làm để khắc phục lỗi. Nếu bạn chọn khôi phục cơ chế này, hãy tạo lại cùng một tệp bằng lệnh touch:
sudo touch EXTERNALLY-MANAGED
Bây giờ bạn có thể cài đặt các gói một cách liền mạch bằng pip hoặc pip3.
2. Sử dụng môi trường ảo để cài đặt gói pip
Một cách tiếp cận khác mà bạn có thể thực hiện là sử dụng môi trường ảo cho dự án Python của mình. Môi trường ảo là một cách tuyệt vời để tách biệt các gói dành riêng cho chương trình khỏi hệ điều hành và cũng cho phép bạn sắp xếp dự án của mình một cách gọn gàng.
Đây là cách tạo môi trường ảo và cài đặt các gói bằng pip:
- Đầu tiên, tạo môi trường ảo với:
python3 -m venv venv - Nguồn tệp kích hoạt bên trong thư mục bin bằng lệnh source:
source venv/bin/activate
Lời nhắc shell của bạn phải được cập nhật với tên môi trường ảo. Bây giờ bạn sẽ có thể cài đặt bất kỳ gói Python nào bạn muốn.
Như bạn có thể thấy, lúc đầu gói openai Python không thể cài đặt được nhưng sau khi tạo và chuyển sang môi trường ảo, nó sẽ được cài đặt một cách hoàn hảo.
3. Sử dụng pipx để cài đặt gói Python
pipx là tiện ích để cài đặt các gói Python trong môi trường ảo và biệt lập. Nó tự động hóa các bước như tạo môi trường ảo cho từng gói và tạo liên kết tượng trưng đến các gói trong thư mục .local/bin để bạn có thể gọi từng gói từ shell mọi lúc.
Sử dụng pipx để cài đặt các gói giúp bạn tránh được lỗi “externally-managed-environment” khi cài đặt các gói trong môi trường ảo. Để sử dụng pipx, trước tiên, hãy cài đặt nó bằng trình quản lý gói mặc định cho bản phân phối của bạn.
Trên các dẫn xuất Ubuntu/Debian:
sudo apt-get install pipx
Trên các hệ thống dựa trên Arch:
sudo pacman -S pipx
Trên Fedora/CentOS/RHEL:
sudo dnf install pipx
Sau khi bạn đã cài đặt pipx, hãy sử dụng nó giống như cách bạn sử dụng pip để cài đặt các gói. Đây là một lệnh mẫu:
pipx install openai
Để tìm hiểu thêm về pipx, bạn có thể tham khảo trang man của nó bằng lệnh man.
Bây giờ bạn đã biết cách khắc phục lỗi “externally-managed-environment”
Sau khi sửa lỗi “externally-managed-environment”, bạn sẽ có thể tiếp tục làm việc với dự án của mình hoặc thực hành lập trình Python chung.
Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/fix-pip-error-externally-managed-environment-linux/














Bình luận (0
)