<p>تنسيق توليد تجميد النقطة الذي تم تحليله بشكل غير صحيح بواسطة تثبيت النقطة -r</p>

تم إنشاؤها على ١٥ سبتمبر ٢٠١٤  ·  3تعليقات  ·  مصدر: pypa/pip

لدي خطوط في ناتج تجميد النقطة مثل:

-e [email protected]:widgets.git@3bdaf7d07c44a87c38beb1e8abd163a7edf99adc#egg=widgets
-e [email protected]:[email protected]#egg=gadgets

عندما يحين وقت التثبيت باستخدام pip install -r requirements.txt ، يبدو أن النقطة تحدد بشكل غير صحيح example.com:[email protected] أنه عنوان URL الكامل لمستودع git في حين أنه يجب أن يكون فقط example.com:gadgets.git ومن ثم يجب أن يكون تحقق من 3bda ... 99adc الالتزام.

إذا حاولت التثبيت باستخدام إخراج تجميد النقطة ، على سبيل المثال

pip install -e [email protected]:[email protected]#egg=gadgets

أحصل على نفس الخطأ.

كل هذا باستخدام النقطة 1.5.4

freeze vcs awaiting PR auto-locked bug

ال 3 كومينتر

لاحظ أنه مع التغييرات التالية يعمل بشكل صحيح:

pip install -e [email protected]:/path/to/project/[email protected]#egg=project

أو

pip install -e [email protected]:project.git#egg=project

على الرغم من أنه في الأخير ، من الواضح أنه سيسحب الالتزام الحالي فقط وليس الالتزام المحدد في 3bdaf ...

أيضًا ، لأسباب لا أفهمها ، تعمل هذه الطلبات من أجل github.

هذا هو،

pip install -e [email protected]:JordanReiter/[email protected]#egg=github_project

يعمل.

هذا مشابه لـ # 6293. المحلل اللغوي (على أساس stdlib urlsplit يواجه مشاكل في تحديد جزء المسار من عنوان URL عندما لا يحتوي على / على الإطلاق ، وتحديد الشيء بأكمله بعد + كـ netloc . المتغير بدون سرعة يعمل بالكامل عن طريق الصدفة لأن netloc و path تم ضمهما لاحقًا وتمريرهما إلى Git (الذي يقوم بالشيء الصحيح تلقائيًا).

يبدو أن المناقشات في # 6293 تفضل إسقاط دعم عنوان URL على غرار SCP تمامًا ، لذا سيكون الحل الأفضل هنا هو الصدارة pip freeze لإخراج عناوين URL git+ssh:// بدلاً من ذلك.

يتم الإغلاق كما نقترح إزالة النموذج git+git@ في # 7554.

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