Jika Anda baru-baru ini menemukan kesalahan "lingkungan yang dikelola secara eksternal" saat menginstal paket pip di Linux, berikut cara memperbaikinya.
Jika Anda sering bekerja dengan Python dan baru-baru ini beralih ke Ubuntu 23.04 atau Fedora versi 38, kemungkinan besar Anda menemukan kesalahan "lingkungan yang dikelola secara eksternal" saat menginstal paket dengan manajer paket Python, pip.
Ini bisa membuat frustasi dan cukup mengejutkan karena kesalahan ini tidak akan pernah muncul di versi lama Ubuntu, Fedora, dan distribusi lainnya. Mari pelajari apa sebenarnya yang menyebabkan kesalahan ini dan bagaimana Anda dapat memperbaikinya dengan cepat.
Mengapa Terjadi Kesalahan "lingkungan yang dikelola secara eksternal".
Versi terbaru dari semua distribusi Linux mengadopsi standar yang ditentukan dalam PEP-668. Perubahan ini memastikan bahwa paket pip tidak akan diinstal dalam konteks global secara default.
Hal ini diterapkan dalam upaya untuk menghindari konflik antara manajer paket distribusi dan alat manajemen paket Python. Anda dapat mempelajari detailnya di
dokumentasi resmi PEP-668. Jika Anda ingin mengembalikan atau mengesampingkan mekanisme ini, Anda dapat melakukan tiga pendekatan.1. Hapus File "DIKELOLA SECARA EKSTERNAL".
Ini adalah perbaikan paling sederhana untuk kesalahan pip "dikelola secara eksternal". Yang harus Anda lakukan adalah menavigasi ke /usr/lib/python3.xx dan hapus DIKELOLA SECARA EKSTERNAL file di direktori. Berikut adalah perintah untuk melakukannya:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Hanya itu yang perlu Anda lakukan untuk memperbaiki kesalahan tersebut. Jika Anda memilih untuk memulihkan mekanisme ini, buat lagi file yang sama dengan perintah sentuh:
sudo touch EXTERNALLY-MANAGED
Sekarang Anda seharusnya dapat menginstal paket secara lancar dengan pip atau pip3.
2. Gunakan Lingkungan Virtual untuk Menginstal Paket pip
Pendekatan lain yang dapat Anda ambil adalah menggunakan lingkungan virtual untuk proyek Python Anda. Lingkungan virtual adalah cara terbaik untuk mengisolasi paket khusus program dari sistem operasi dan juga memungkinkan Anda mengatur proyek dengan rapi.
Berikut cara membuat lingkungan virtual dan menginstal paket dengan pip:
- Pertama, buat lingkungan virtual dengan:
python3 -m venv venv
- Sumber file aktivasi di dalam direktori bin menggunakan perintah source:
source venv/bin/activate
Prompt shell Anda harus diperbarui dengan nama lingkungan virtual. Sekarang Anda dapat menginstal paket Python apa pun yang Anda inginkan.
Seperti yang Anda lihat, itu terbuka Paket Python tidak dapat diinstal pada awalnya tetapi setelah membuat dan beralih ke lingkungan virtual, paket tersebut terinstal dengan sempurna.
3. Gunakan pipx untuk Menginstal Paket Python
pipx adalah utilitas untuk menginstal paket Python di lingkungan virtual dan terisolasi. Ini mengotomatiskan langkah-langkah seperti membuat lingkungan virtual untuk setiap paket dan membuat tautan simbolis ke paket-paket di dalamnya .local/bin folder sehingga Anda dapat memanggil setiap paket dari shell setiap saat.
Menggunakan pipx untuk menginstal paket membantu Anda menghindari kesalahan "lingkungan yang dikelola secara eksternal" saat menginstal paket di lingkungan virtual. Untuk menggunakan pipx, pertama-tama instal dengan manajer paket default distribusi Anda.
Pada turunan Ubuntu/Debian:
sudo apt-get install pipx
Pada sistem berbasis Arch:
sudo pacman -S pipx
Di Fedora/CentOS/RHEL:
sudo dnf install pipx
Setelah Anda menginstal pipx, gunakan seperti Anda menggunakan pip untuk menginstal paket. Berikut contoh perintahnya:
pipx install openai
Untuk mempelajari lebih lanjut tentang pipx, Anda dapat merujuk ke halaman manualnya menggunakan perintah man.
Sekarang Anda Tahu Cara Memperbaiki Kesalahan "dikelola secara eksternal".
Setelah memperbaiki kesalahan "lingkungan yang dikelola secara eksternal", Anda seharusnya dapat terus mengerjakan proyek Anda atau berlatih pemrograman Python umum. Jika Anda berfokus pada yang terakhir, Anda mungkin ingin melihat berbagai cara belajar yang digamifikasi pemrograman yang akan membantu Anda mempelajari Python, atau bahasa apa pun dengan lebih cepat dan bermanfaat jalan.