Pip: لا يقوم Pip بتحديث التبعيات القديمة جدًا عند تثبيت حزم متعددة

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

وصف
سأناقش حزمًا محددة ، نظرًا لأنه تم ملاحظة ذلك في البرية (HypothesisWorks / hypothesis # 2113): لقد قمنا مؤخرًا بتحديث اعتمادنا install_requires على attrs>=16.0 إلى attrs>=19.2 ، بتاريخ الأساس الذي يثبت أن تثبيت أحدث إصدار من الفرضية سيؤدي إلى تحديث سمات المستخدمين أيضًا.

  • pip install hypothesis يعمل بالفعل.
  • pip install pytest hypothesis إذا لم يتم تثبيت إصدار أقدم من attrs بالفعل.

يبدو أنه عند إدراج عدة حزم في أمر التثبيت ، يتم تقييم توافق التبعيات المثبتة بالفعل فقط للحزمة الأولى المدرجة وللحزم اللاحقة يتم التحقق من وجود التبعيات وليس إصدارها. يؤثر هذا أيضًا على استخدام ملفات المتطلبات.

سلوك متوقع

بغض النظر عن الحزم الأخرى المدرجة للتثبيت أو الموجودة بالفعل ، يجب أن ينتج عن pip install hypothesis مجموعة متوافقة من الحزم المثبتة أو رسالة خطأ - ليست بيئة معطلة.

كيفية التكاثر

[tox]
skipsdist=True
[testenv]
deps =
    pip
    attrs==19.1.0
commands =
    ## Execute the problematic install command
    # pip install hypothesis  # works
    # pip install hypothesis pytest  # works
    pip install pytest hypothesis  #  fails, as does `pip install attrs hypothesis` !
    # pip install --upgrade pytest hypothesis  # works

    ## Check that the installed packages are compatible
    python -c "import hypothesis"

ثم قم بتشغيل tox --recreate لإعادة إنشاء البيئة الافتراضية وتشغيل الأوامر.

(وبفضل كل من يعمل على pip ، فهو ذو قيمة كبيرة ويحظى بتقدير كبير 😍)

dependency resolution auto-locked bug

ال 3 كومينتر

شكرا على التفاصيل والنسخ السهل! مقدر جدا!

هذا أساسًا هو # 988. كملخص سريع:

  • تقوم النقطة بطباعة رسالة باللون الأحمر ، مع ERROR بأحرف كبيرة.
    ERROR: hypothesis 4.38.2 has requirement attrs>=19.2.0, but you'll have attrs 19.1.0 which is incompatible.
  • استخدم pip check كجزء من CI الخاص بك ، للتأكد من أن النقطة لم تفعل شيئًا غبيًا.
  • استخدم pip-tools (يلتف النقطة بمحلل أفضل) أو pipenv (الذي يستخدم pip-tools ) أو poetry (الذي يحتوي على محلل خاص به) ، لتجنب ذلك شذوذ محلل النقطة.

آه لقد فهمت! لقد راجعت الصفحات القليلة الماضية من المشكلات ، لكن لا شيء بعيدًا ... سعيدًا لإغلاق هذه المشكلة كنسخة مكررة ، لأنني لا أعتقد أنها تحتوي على أي معلومات إضافية؟

إغلاق كنسخة مكررة من # 988.

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