Contents

Cách khắc phục lỗi pip"môi trường được quản lý bên ngoài"trên Linux

Nếu bạn thường xuyên làm việc với Python và gần đây đã chuyển sang Ubuntu 23.04 hoặc Fedora phiên bản 38, rất có thể bạn đã gặp phải lỗi “môi trường được quản lý bên ngoài” khi cài đặt các gói bằng trình quản lý gói Python, pip.

Có thể bạn sẽ cảm thấy thất vọng khi gặp phải một sự cố không xuất hiện trong các phiên bản hệ điều hành trước đây như Ubuntu và Fedora. Hiểu được nguyên nhân cốt lõi của vấn đề này và tìm ra giải pháp nhanh chóng sẽ là chìa khóa để giải quyết vấn đề một cách hiệu quả.

Tại sao xảy ra lỗi “môi trường được quản lý bên ngoài”

/vi/images/pip-externally-managed-error.jpeg

Các lần lặp lại gần đây nhất của mọi bản phân phối Linux đều tuân theo các thông số kỹ thuật được nêu trong PEP, điều này dẫn đến sự thay đổi hành vi cài đặt của các gói pip khiến chúng không còn được cài đặt trong phạm vi toàn cầu 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.

Xóa File “QUẢN LÝ BÊN NGOÀI”

/vi/images/deleting-externally-managed-file.jpeg

Để giải quyết vấn đề về gói được quản lý bên ngoài trong thư viện Pip, người ta có thể làm theo quy trình đơn giản bằng cách điều hướng đến thư mục có tại “/usr/lib/python3.xx” và xóa tệp “QUẢN LÝ BÊN NGOÀI” trong thư mục đó. Các bước cụ thể để hoàn thành nhiệm vụ này bao gồm việc thực hiện các lệnh sau:

 cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED 

Để giải quyết sự cố và thiết lập lại chức năng bị thiếu, hãy làm theo các bước sau:1. Sử dụng lệnh’touch’để tạo lại tệp cấu hình cần thiết. Điều này có thể được thực hiện bằng cách nhập “touch/etc/systemd/system/multi-user.target.wants/sleep.override” trong terminal.2 của bạn. Xác minh rằng tệp đã được tạo thành công bằng cách kiểm tra sự hiện diện của nó bằng lệnh “ls-l/etc/systemd/system/multi-user.target.wants/”. Bây giờ tệp sẽ xuất hiện dưới dạng tệp thông thường có quyền đọc cho chủ sở hữu và nhóm.

 sudo touch EXTERNALLY-MANAGED 

Bây giờ bạn sẽ trải nghiệm quá trình cài đặt suôn sẻ khi sử dụng pip hoặc pip3.

Sử dụng môi trường ảo để cài đặt gói pip

Một chiến lược thay thế liên quan đến việc sử dụng môi trường ảo như một phương tiện hiệu quả để tách biệt các phần phụ thuộc lập trình cụ thể khỏi hệ điều hành cơ bản đồng thời tạo điều kiện thuận lợi cho việc tổ chức dự án có trật tự.

Để thiết lập môi trường ảo và cài đặt các gói bằng pip, vui lòng làm theo các bước sau:

⭐ Đầu tiên tạo môi trường ảo bằng:

 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 

Cập nhật dấu nhắc shell bằng tên môi trường ảo cho phép bạn cài đặt rất nhiều gói Python phù hợp với mong muốn của bạn, từ đó nâng cao trải nghiệm phát triển của bạn.

/vi/images/using-venv-solves-the-externally-managed-error.jpeg

Trong lần thử đầu tiên, quá trình cài đặt gói OpenAI Python gặp khó khăn; tuy nhiên, khi tạo và kích hoạt môi trường ảo, quá trình cài đặt được thực hiện liền mạch mà không gặp bất kỳ sự cố nào.

Sử dụng pipx để cài đặt gói Python

/vi/images/installing-packages-with-pix.jpeg

PipX đóng vai trò là một công cụ hiệu quả để triển khai các thư viện Python trong các cài đặt được ảo hóa hoặc cô lập, hợp lý hóa các quy trình như tạo môi trường ảo được điều chỉnh cho phù hợp với các gói riêng lẻ và thiết lập các kết nối tượng trưng giữa các gói này và các tệp nhị phân tương ứng của chúng nằm trong.local/của người dùng. thư mục bin. Điều này cho phép người dùng truy cập và sử dụng bất kỳ gói nào được cài đặt qua PipX trực tiếp từ giao diện dòng lệnh của họ mọi lúc.

Việc sử dụng pipx để cài đặt gói cung cấp giải pháp cho vấn đề lỗi “môi trường được quản lý bên ngoài” bằng cách cài đặt các gói trong môi trường ảo. Để sử dụng pipx, hãy bắt đầu bằng cách cài đặt nó thông qua trình quản lý gói mặc định trong hệ điều hành 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 

Khi cài đặt pipX, người ta có thể sử dụng nó theo cách tương tự như sử dụng pip để cài đặt gói. Ví dụ, hãy xem xét lệnh minh họa sau:

 pipx install openai 

Để biết thêm thông tin về pipx, bạn nên tham khảo trang hướng dẫn của nó bằng cách sử dụng lệnh “man”.

Bây giờ bạn đã biết cách khắc phục lỗi “được quản lý bên ngoài”

Sau khi giải quyết thành công vấn đề liên quan đến môi trường được quản lý bên ngoài, người ta có thể tiếp tục công việc thực hiện dự án của mình hoặc tham gia vào các buổi thực hành mở rộng hơn liên quan đến việc sử dụng Python làm ngôn ngữ lập trình chính. Đối với những người có mục tiêu rộng hơn bao gồm cả sự phát triển và niềm vui cá nhân, có thể đáng để khám phá các phương pháp thay thế để đạt được trình độ thành thạo Python hoặc các ngôn ngữ khác thông qua các phương pháp gamification, mang lại trải nghiệm phong phú và hài lòng bằng cách kết hợp các yếu tố thiết kế trò chơi vào quá trình học tập.