Pip: ~ / .pip / pip.conf والصراع الافتراضي

تم إنشاؤها على ٢ أكتوبر ٢٠١٤  ·  5تعليقات  ·  مصدر: pypa/pip

لم أتمكن من العثور على هذه المشكلة موثقة في أي مكان ، ولكن إذا حددت install-option في ~/.pip/pip.conf ، فلن يتم تجاوزها بمقدار virtualenv . أحدد --prefix=/path/to/somwhere في install-option بسبب قيود المستخدم على جهاز الكمبيوتر الخاص بالعمل ، ومع تعيينه ، لا تزال أي عمليات تثبيت في venv (مع تمكين $PIP_RESPECT_VIRTUALENV ) مثبتة في المسار المحدد بواسطة install-option . لم يكن هذا سلوكًا متوقعًا بالنسبة لي ، لكنني لست متأكدًا مما إذا كان تجاهل pip.conf هو الإجراء الصحيح أيضًا. ربما يكون توثيق مثل هذا السلوك هو الأفضل. شيء غريب آخر هو أنه لا يمكنك بعد ذلك إلغاء التثبيت أثناء وجودك في Virtualenv ، حيث لم يتم تثبيت الحزمة في venv ، ولا يمكن لـ pip العثور عليها.

حدث هذا لي عند استخدام النقطة 1.4.1 و 1.5.6 و virtualenv 1.11.6.

virtualenv needs repro bug

التعليق الأكثر فائدة

إصلاحي الحالي هو تعيين $PIP_CONFIG_FILE إلى /dev/null عبر ربط virtualenvwrapper 's postactivate وإلغاء ضبطه في postdeactivate .

ال 5 كومينتر

إصلاحي الحالي هو تعيين $PIP_CONFIG_FILE إلى /dev/null عبر ربط virtualenvwrapper 's postactivate وإلغاء ضبطه في postdeactivate .

هذه القضية لا تزال موجودة. في حالتي ، أرغب في استخدام تثبيتات --user عندما لا تكون في venv (من خلال تعيين هذا في ~/.config/pip/pip.conf ، لكن التثبيت "العادي" (in-venv) في venv (فعل تثبيتات --user تبدو منطقية في venv؟).

هناك حلان محتملان (يمكن تنفيذ الحل الأول فقط عن طريق النقطة ، ولكن يمكنني أيضًا بدء المناقشة هنا) هما

  • توفير موقع ملف التكوين الذي يتم استخدامه فقط خارج venvs ( ~/.config/pip/pip-novenv.conf أو أيًا كان) ، أو
  • اجعل --user a no-op in a venv (مرة أخرى ، لست متأكدًا من --user + venv منطقيًا: لا يوجد سوى ~/.local/lib/pythonX.Y لذلك يتم كسر كل العزلة هناك).

لا تزال المشكلة موجودة في Python 3.5.3.

إنه لأمر مثير للسخرية والإحباط أنه إذا حاول المرء توخي الحذر مع البيئة ، إلى حد استخدام البيئات الافتراضية وتثبيت المستخدم في pip.conf ، ينتهي المرء بنظام لا يعمل.

كنت أحاول تجنب استخدام أعضاء الفريق sudo pip . إنها تزداد صعوبة.

أليس هذا خطأ في virtualenv - أنه لا يتم تعيين PIP_CONFIG_FILE=/dev/null عند استخدام بعض الخيارات؟
أوه ، تعرضت للعض من هذا اليوم.

هل يمكن لأي شخص أن يقدم تعليمات واضحة حول كيفية إعادة إنتاج هذا؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات