Cara Memperbaiki Kesalahan: Lingkungan yang Dikelola Secara Eksternal di Pip
Diterbitkan: 2025-01-20Jika Anda seorang pengembang Python, Anda mungkin mengalami kesalahan terkait dengan “lingkungan yang dikelola secara eksternal” di Pip saat mencoba menginstal atau memutakhirkan paket. Kesalahan ini sering terjadi saat mencoba menginstal atau memodifikasi paket Python di lingkungan yang dikelola sistem, misalnya saat menggunakan distribusi Python yang dikelola oleh manajer paket sistem operasi Anda (misalnya, APT di Ubuntu atau Homebrew di macOS). Memahami penyebabnya dan mempelajari cara memperbaiki masalah ini dapat menghemat waktu dan frustrasi Anda.
Daftar isi
Apa yang dimaksud dengan Kesalahan “Lingkungan yang Dikelola Secara Eksternal”?
Kesalahan “lingkungan yang dikelola secara eksternal” terjadi ketika Anda mencoba menginstal atau memutakhirkan paket di lingkungan Python yang tidak Anda kendalikan, melainkan oleh sistem operasi Anda atau manajer paket distribusi. Dalam lingkungan seperti itu, manajemen paket (termasuk instalasi, pembaruan, dan penghapusan) sering kali dibatasi untuk memastikan stabilitas sistem.
Pip, manajer paket untuk Python, mendeteksi ketika lingkungan dikelola secara eksternal (di luar lingkungan yang dikontrol pengguna seperti lingkungan virtual atau instalasi Python terisolasi) dan memunculkan kesalahan ini untuk mencegah potensi konflik.
Pesan Kesalahan Umum:
ERROR: Cannot install package because it is managed by the system's package manager.
Penyebab Kesalahan
- System Python : Jika Anda bekerja dalam lingkungan Python default sistem, seperti lingkungan yang sudah diinstal sebelumnya dengan sistem operasi Anda, hal ini dapat memicu kesalahan “lingkungan yang dikelola secara eksternal”. Beberapa sistem operasi mengontrol manajemen paket dengan ketat untuk mencegah modifikasi tidak disengaja yang dapat merusak alat atau ketergantungan sistem.
- Konflik Manajemen Paket : Jika Anda menggunakan Pip dan manajer paket sistem operasi (misalnya,
apt
,brew
, atauyum
), keduanya mungkin mengalami konflik dalam mengelola paket Python tertentu, sehingga menyebabkan pembatasan dalam instalasi atau peningkatan. - Masalah Izin : Dalam lingkungan Python yang dikelola sistem tertentu, pengguna mungkin tidak memiliki izin yang diperlukan untuk menginstal atau memodifikasi paket, terutama paket seluruh sistem.
- Kesalahan Konfigurasi Lingkungan Virtual : Jika Anda mencoba menginstal paket di luar lingkungan virtual atau jika lingkungan Anda tidak diatur dengan benar, Pip mungkin tidak mengizinkan Anda melakukan instalasi.
Cara Memperbaiki Kesalahan “Lingkungan yang Dikelola Secara Eksternal”.
1. Gunakan Lingkungan Virtual
Solusi paling efektif adalah dengan menggunakan lingkungan virtual . Lingkungan virtual diisolasi dari sistem Python dan memungkinkan Anda menginstal dan mengelola paket secara bebas tanpa mengganggu perpustakaan yang dikelola sistem.
Langkah-langkah untuk membuat lingkungan virtual:
- Instal
virtualenv
(jika belum diinstal):pip install virtualenv
- Buat lingkungan virtual:
virtualenv venv
Ini akan menciptakan lingkungan terisolasi baru di direktori
venv/
. - Aktifkan lingkungan virtual:
- Di Windows:
.\venv\Scripts\activate
- Di macOS/Linux:
source venv/bin/activate
- Di Windows:
- Sekarang, Anda dapat menginstal paket tanpa menemui kesalahan “lingkungan yang dikelola secara eksternal”.
pip install <package-name>
- Untuk menonaktifkan lingkungan virtual:
deactivate
Dengan menggunakan lingkungan virtual, Anda dapat menghindari konflik dengan sistem Python dan dengan bebas mengelola dependensi untuk setiap proyek.
2. Gunakan --user
Flag untuk Instalasi Tingkat Pengguna
Jika Anda tidak ingin atau tidak dapat menggunakan lingkungan virtual, Anda dapat menginstal paket Python di tingkat pengguna menggunakan flag --user
. Ini menginstal paket ke direktori home pengguna Anda, melewati manajer paket seluruh sistem.
Untuk menginstal paket menggunakan flag --user
:
pip install --user <package-name>
Ini menginstal paket hanya untuk akun pengguna Anda dan menghindari kesalahan yang terkait dengan lingkungan yang dikelola sistem.
3. Tingkatkan Pip dan Setuptools
Terkadang kesalahan ini mungkin terkait dengan versi Pip atau alat pengaturan yang sudah ketinggalan zaman. Pastikan Anda menggunakan versi terbaru dengan memutakhirkannya:
pip install --upgrade pip setuptools
Memutakhirkan alat ini dapat mengatasi masalah kompatibilitas yang mungkin menyebabkan kesalahan.
4. Periksa Konflik dengan System Package Manager
Jika Anda menggunakan lingkungan yang dikelola sistem, mungkin ada konflik antara paket yang diinstal oleh manajer paket OS dan paket yang dikelola oleh Pip. Misalnya, di Linux, Anda mungkin menginstal paket Python melalui apt
atau yum
yang bertentangan dengan versi yang coba diinstal oleh Pip.
Untuk menghindari konflik ini:
- Periksa manajer paket mana yang menginstal Python dan paketnya.
- Jika perlu, hapus instalasi paket yang bertentangan menggunakan manajer paket sistem (misalnya,
apt-get remove python3-pip
di Ubuntu). - Gunakan Pip di lingkungan yang lebih terkontrol (misalnya, lingkungan virtual atau instalasi pengguna).
5. Pastikan Izin yang Benar
Pastikan Anda memiliki izin yang diperlukan untuk menginstal atau memodifikasi paket. Pada beberapa sistem, Anda mungkin perlu menambahkan sudo
(di Linux/macOS) ke perintah Pip Anda:
sudo pip install <package-name>
Namun, berhati-hatilah saat menggunakan sudo
karena dapat mengubah lingkungan sistem Python, yang berpotensi menyebabkan masalah dengan perangkat lunak lain yang bergantung pada Python.
6. Periksa pip
yang hilang atau python3-pip
Jika instalasi Python sistem Anda tidak memiliki Pip atau paket python3-pip
yang diperlukan, instal melalui manajer paket sistem Anda. Misalnya:
- Di Ubuntu/Debian:
sudo apt-get install python3-pip
Setelah Pip diinstal, Anda dapat terus menggunakannya untuk mengelola paket tanpa mengalami kesalahan “lingkungan yang dikelola secara eksternal”.
Kesimpulan
Kesalahan “lingkungan yang dikelola secara eksternal” di Pip adalah masalah umum yang muncul ketika mencoba menginstal paket di lingkungan Python yang dikontrol sistem. Untuk mengatasi masalah ini, penggunaan lingkungan virtual adalah solusi paling efektif, karena menyediakan lingkungan yang terkendali dan terisolasi untuk mengelola dependensi. Alternatifnya, menggunakan flag --user
, mengupgrade Pip dan setuptools, atau memastikan Anda memiliki izin yang benar dapat membantu mengatasi kesalahan tersebut.
Dengan memahami akar penyebab kesalahan ini dan mengikuti solusi ini, Anda akan dapat menginstal dan mengelola paket Python Anda dengan lancar tanpa gangguan yang tidak perlu.