كيفية إصلاح الخطأ: البيئة المُدارة خارجيًا في Pip
نشرت: 2025-01-20إذا كنت أحد مطوري لغة Python، فربما واجهت خطأً متعلقًا بـ "البيئة المُدارة خارجيًا" في Pip أثناء محاولة تثبيت الحزم أو ترقيتها. يحدث هذا الخطأ غالبًا عند محاولة تثبيت حزم Python أو تعديلها في بيئة يديرها النظام، مثل عند استخدام توزيعة Python يديرها مدير حزم نظام التشغيل لديك (على سبيل المثال، APT على Ubuntu أو Homebrew على macOS). إن فهم الأسباب ومعرفة كيفية حل هذه المشكلة يمكن أن يوفر عليك الوقت والإحباط.
جدول المحتويات
ما هو خطأ "البيئة المُدارة خارجيًا"؟
يحدث خطأ "البيئة المُدارة خارجيًا" عندما تحاول تثبيت أو ترقية حزمة في بيئة Python التي لا يتم التحكم فيها بواسطتك، بل بواسطة نظام التشغيل الخاص بك أو مدير حزم التوزيع. في مثل هذه البيئات، غالبًا ما تكون إدارة الحزم (بما في ذلك عمليات التثبيت والتحديثات والإزالة) مقيدة لضمان استقرار النظام.
يكتشف Pip، مدير الحزم لـ Python، متى تتم إدارة البيئة خارجيًا (خارج البيئة النموذجية التي يتحكم فيها المستخدم مثل البيئة الافتراضية أو تثبيت Python المعزول) ويثير هذا الخطأ لمنع التعارضات المحتملة.
رسالة الخطأ الشائعة:
ERROR: Cannot install package because it is managed by the system's package manager.
أسباب الخطأ
- System Python : إذا كنت تعمل ضمن بيئة Python الافتراضية للنظام، مثل البيئة المثبتة مسبقًا مع نظام التشغيل الخاص بك، فقد يؤدي ذلك إلى ظهور خطأ "البيئة المُدارة خارجيًا". تتحكم بعض أنظمة التشغيل بإحكام في إدارة الحزم لمنع التعديلات العرضية التي قد تؤدي إلى تعطيل أدوات النظام أو تبعياته.
- تعارض إدارة الحزم : إذا كنت تستخدم كلاً من Pip ومدير حزم نظام التشغيل (على سبيل المثال،
apt
أوbrew
أوyum
)، فقد يتعارضان حول إدارة حزم Python معينة، مما يؤدي إلى فرض قيود على التثبيت أو الترقية. - مشكلة الأذونات : في بعض بيئات Python التي يديرها النظام، قد يفتقر المستخدم إلى الأذونات اللازمة لتثبيت الحزم أو تعديلها، وخاصة الحزم على مستوى النظام.
- التكوين الخاطئ للبيئة الافتراضية : إذا كنت تحاول تثبيت حزم خارج بيئة افتراضية أو إذا لم يتم إعداد بيئتك بشكل صحيح، فقد لا يسمح لك Pip بإجراء التثبيت.
كيفية إصلاح خطأ "البيئة المُدارة خارجيًا".
1. استخدم بيئة افتراضية
الحل الأكثر فعالية هو استخدام بيئة افتراضية . البيئات الافتراضية معزولة عن نظام Python وتسمح لك بتثبيت الحزم وإدارتها بحرية دون التدخل في المكتبات التي يديرها النظام.
خطوات إنشاء البيئة الافتراضية:
- تثبيت
virtualenv
(إذا لم يكن مثبتًا):pip install virtualenv
- إنشاء بيئة افتراضية:
virtualenv venv
سيؤدي هذا إلى إنشاء بيئة معزولة جديدة في دليل
venv/
. - تفعيل البيئة الافتراضية:
- على نظام التشغيل Windows:
.\venv\Scripts\activate
- على نظام التشغيل MacOS/Linux:
source venv/bin/activate
- على نظام التشغيل Windows:
- يمكنك الآن تثبيت الحزم دون مواجهة خطأ "البيئة المُدارة خارجيًا".
pip install <package-name>
- لإلغاء تنشيط البيئة الافتراضية:
deactivate
باستخدام البيئات الافتراضية، يمكنك تجنب التعارضات مع نظام Python وإدارة التبعيات لكل مشروع بحرية.
2. استخدم --user
Flag للتثبيت على مستوى المستخدم
إذا كنت لا تريد أو لا تستطيع استخدام بيئة افتراضية، فيمكنك تثبيت حزم Python على مستوى المستخدم باستخدام علامة --user
. يؤدي هذا إلى تثبيت الحزم في الدليل الرئيسي للمستخدم الخاص بك، متجاوزًا مدير الحزم على مستوى النظام.
لتثبيت حزمة باستخدام علامة --user
:
pip install --user <package-name>
يؤدي هذا إلى تثبيت الحزمة لحساب المستخدم الخاص بك فقط وتجنب الخطأ المتعلق بالبيئة التي يديرها النظام.
3. ترقية Pip وأدوات الإعداد
في بعض الأحيان قد يكون الخطأ مرتبطًا بالإصدارات القديمة من Pip أو setuptools. تأكد من أنك تستخدم أحدث الإصدارات عن طريق ترقيتها:
pip install --upgrade pip setuptools
يمكن أن تؤدي ترقية هذه الأدوات إلى حل مشكلات التوافق التي قد تسبب الخطأ.
4. تحقق من وجود تعارضات مع مدير حزم النظام
إذا كنت تستخدم بيئة يديرها النظام، فقد يكون هناك تعارضات بين الحزم المثبتة بواسطة مدير حزم نظام التشغيل وتلك التي يديرها Pip. على سبيل المثال، في نظام التشغيل Linux، قد تكون لديك حزم Python مثبتة عبر apt
أو yum
والتي تتعارض مع الإصدارات التي يحاول Pip تثبيتها.
لتجنب هذه الصراعات:
- تحقق من مدير الحزم الذي قام بتثبيت Python والحزم.
- إذا لزم الأمر، قم بإلغاء تثبيت الحزم المتعارضة باستخدام مدير حزم النظام (على سبيل المثال،
apt-get remove python3-pip
على Ubuntu). - استخدم Pip في بيئة أكثر تحكمًا (على سبيل المثال، بيئة افتراضية أو تثبيت المستخدم).
5. تأكد من الأذونات الصحيحة
تأكد من أن لديك الأذونات اللازمة لتثبيت الحزم أو تعديلها. في بعض الأنظمة، قد تحتاج إلى إضافة sudo
(على Linux/macOS) إلى أوامر Pip الخاصة بك:
sudo pip install <package-name>
ومع ذلك، كن حذرًا عند استخدام sudo
لأنه يمكن أن يغير بيئة Python الخاصة بالنظام، مما قد يسبب مشكلات مع البرامج الأخرى التي تعتمد على Python.
6. تحقق من وجود pip
المفقودة أو python3-pip
إذا كان تثبيت Python لنظامك يفتقد Pip أو حزمة python3-pip
المطلوبة، فقم بتثبيته عبر مدير الحزم في نظامك. على سبيل المثال:
- على أوبونتو/ديبيان:
sudo apt-get install python3-pip
بمجرد تثبيت Pip، يمكنك الاستمرار في استخدامه لإدارة الحزم دون مواجهة خطأ "البيئة المُدارة خارجيًا".
خاتمة
يعد خطأ "البيئة المُدارة خارجيًا" في Pip مشكلة شائعة تنشأ عند محاولة تثبيت الحزم في بيئة Python التي يتحكم فيها النظام. لحل هذه المشكلة، يعد استخدام البيئة الافتراضية هو الحل الأكثر فعالية، حيث أنها توفر بيئة خاضعة للتحكم ومعزولة لإدارة التبعيات. وبدلاً من ذلك، يمكن أن يساعد استخدام علامة --user
أو ترقية Pip وsetuptools أو التأكد من حصولك على الأذونات الصحيحة في حل الخطأ.
من خلال فهم الأسباب الجذرية لهذا الخطأ واتباع هذه الحلول، ستتمكن من تثبيت حزم Python وإدارتها بسلاسة دون انقطاعات غير ضرورية.