تتطلب المصادقة الخاصة بعناوين URL الفهرسة الإضافية مصادقة تفاعلية مع المستخدم حتى عندما يتم تحديد المصادقة في عنوان URL الإضافي للفهرس نفسه.
Python 3.6.3
pipenv, version 8.3.2
عندما أقوم بإضافة [[source]]
بعنوان URL يحتوي على معلومات المصادقة (مثل https://user:password@host/pypi/simple
) ، يجب عدم طلب معلومات المصادقة.
$ pipenv lock --verbose
Locking [dev-packages] dependencies…
Using pip: -i https://pypi.python.org/simple --extra-index-url https://xxxUSERxxx:xxxPASSWORDxxx@xxxHOSTxxx/xxxPATHxxx/pypi/simple
ROUND 1
Current constraints:
xxx
xxx
xxx
Finding the best candidates:
User for xxxxxxxx:
هذا ثم ينتظر مدخلات المستخدم.
[[source]]
إلى Pipfile
بعنوان URL الذي يتطلب مصادقة http أساسية.Pipfile
التي تستخدم الفهرس المحدد (على سبيل المثال ، package_name: {version="*", index="index_name"}
.pipenv lock
.عذرًا ، هذه ليست مشكلة pipenv
؛ يحدث ذلك حتى مع pip
العادي خارج virtualenv.
لمعلوماتك ، لأي شخص يتساءل عن كيفية استخدام مستودعات إعادة الشراء الخاصة pip
مع CI و docker ، سيتعين عليك استخدام متغير البيئة PIP_EXTRA_INDEX_URL
مع المصادقة. يمكن القيام بذلك للاختبار المحلي باستخدام ملف .env
لم يتم تسجيله في VCS ، وعن بُعد باستخدام أي أداة تستخدمه أداة CI لتعريف متغير البيئة (عادةً في إعدادات واجهة المستخدم الرسومية أو CLI للريبو). إذا كنت تستخدم docker
، فيمكنك حينئذٍ حقن هذا بـ --build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR
. أود أن أضيف هذا إلى المشكلة ذات الصلة (# 1020) ، ولكن تم إغلاقه لسبب ما.
Californian شكرًا على التحديث ذي الصلة ، سأضيف رابطًا
Californian OT هنا ، لكن استخدام --build-arg
للأسرار ليس جيدًا. يمكنك بالفعل الحصول على السر من تاريخ البناء ؛ جرب docker history <image>
وستراه هناك.
التعليق الأكثر فائدة
عذرًا ، هذه ليست مشكلة
pipenv
؛ يحدث ذلك حتى معpip
العادي خارج virtualenv.لمعلوماتك ، لأي شخص يتساءل عن كيفية استخدام مستودعات إعادة الشراء الخاصة
pip
مع CI و docker ، سيتعين عليك استخدام متغير البيئةPIP_EXTRA_INDEX_URL
مع المصادقة. يمكن القيام بذلك للاختبار المحلي باستخدام ملف.env
لم يتم تسجيله في VCS ، وعن بُعد باستخدام أي أداة تستخدمه أداة CI لتعريف متغير البيئة (عادةً في إعدادات واجهة المستخدم الرسومية أو CLI للريبو). إذا كنت تستخدمdocker
، فيمكنك حينئذٍ حقن هذا بـ--build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR
. أود أن أضيف هذا إلى المشكلة ذات الصلة (# 1020) ، ولكن تم إغلاقه لسبب ما.