Pipenv: آخر تبعية افتراضية تم تحديدها على أنها محلية وقابلة للتعديل

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

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

وصف المشكلة

تم وضع علامة غير صحيحة على الحزمة الخارجية الأخيرة المدرجة في القسم الافتراضي من Pipfile.lock على أنها محلية وقابلة للتحرير

نتيجة متوقعة

آخر حزمة خارجية مدرجة لا تزال متوفرة من pypi

نتيجة فعلية

احصل على هذا الاختلاف في My Pipfile.lock ، والذي يكسر CI والمستخدمين الآخرين لأسباب واضحة:

             "version": "==1.25.10"
         },
         "wrapt": {
-            "hashes": [
-                "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
-            ],
-            "version": "==1.12.1"
+            "editable": true,
+            "path": "."
         }
     },
     "develop": {

خطوات التكرار

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
flake8 = "3.8.3"
pytest = "5.4.3"
pytest-cov = "2.10.0"
termcolor = "1.1.0"

[packages]
mycli = {editable = true, path = "."}

[requires]
python_version = "3.7"

(يحتوي mycli على setup.py لتسهيل إنشاء نقطة دخول لنقر python وتحديد التبعيات غير التابعة لـ dev)

المشروع عبارة عن أداة مساعدة CLI ونقوم باستنساخ المستودع وتثبيته عبر:
PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy

بصفتي مطورًا يضيف تبعية جديدة ، أقوم بتحرير setup.py وتشغيل:
pipenv lock

يؤدي هذا إلى إنشاء ملف Pipfile.lock يتضمن تبعيتي الجديدة ، ولكن أيضًا تبعية افتراضية أخيرة مشوهة (لقد واجهت مشكلة مع الحزم المتعددة التي تقترب من نهاية الأبجدية في هذا الموضع ، على وجه التحديد wrapt و zipp )

أنا قادر على حل المشكلة وإنشاء Pipfile.lock صحيح من خلال:
rm -rf Pipfile.lock .venv
و
pipenv lock


لقد حذفت عمدًا الناتج pipenv --support لأن التطبيق الذي أعمل عليه ملكية وأنا قلق بشأن تسريب تفاصيل بيئتنا (أو صراخ فريق الأمن في وجهي: يضحك :). إذا كانت هناك مقتطفات محددة يمكنني فركها وتقديمها ، فسأكون سعيدًا بذلك ، فقط لا أرغب في تنظيف كل شيء مقدمًا.

شكرا لك على القراءة ومرة ​​أخرى ، أتمنى أن أكون مجرد غبية.
شكر!

Type Vendored Dependencies

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

كما علقjmehnle وpatelamol، لقد كنت تعاني من مشكلة مشابهة مع بعض من مجموعتي في هذه الحالة

       "zipp": {
            "editable": true,
            "path": "."
        },

كان الحل هو تحرير قفل ملف الأنابيب يدويًا ، وهو غير آمن / غير صحي لأحدث إصدار

"zipp": {
            "hashes": [
                "sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6",
                "sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f"
            ],
            "version": "==3.2.0"
        }

أتساءل عما إذا كان هناك تحديث لـ pipenv سيصدر قريبًا مع هذا الخطأ

ال 9 كومينتر

patelamol ويمكنني إعادة إنتاج هذا باستخدام pipenv 2020.08.13.

لقد واجهت هذا الخطأ في جميع الإصدارات الأحدث حتى 2018.11.26 . لذا لا توجد هذه المشكلة في 2018.11.26 .

كما علقjmehnle وpatelamol، لقد كنت تعاني من مشكلة مشابهة مع بعض من مجموعتي في هذه الحالة

       "zipp": {
            "editable": true,
            "path": "."
        },

كان الحل هو تحرير قفل ملف الأنابيب يدويًا ، وهو غير آمن / غير صحي لأحدث إصدار

"zipp": {
            "hashes": [
                "sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6",
                "sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f"
            ],
            "version": "==3.2.0"
        }

أتساءل عما إذا كان هناك تحديث لـ pipenv سيصدر قريبًا مع هذا الخطأ

gregflynnpatelamol فهل هذا الوجود القضية على فرع رئيسي؟ لا يمكنني التكاثر بالخطوات المعطاة

gregflynnpatelamol فهل هذا الوجود القضية على فرع رئيسي؟ لا يمكنني التكاثر بالخطوات المعطاة

بالتاكيد! لم أقم بتشغيل pipenv من github من قبل ولم أشاهد الإرشادات في README ، لذا سأكون مطولًا حول الخطوات:

  1. استنساخ بوابة أسفل
  2. pyenv virtualenv 3.7.9 pipenv && pyenv local pipenv && pip install -e .
  3. التحقق:
    ""
    $ pipenv - الإصدار
    pipenv ، الإصدار 2020.8.13
$ ~/.pyenv/versions/pipenv/bin/pipenv --version 
pipenv, version 2020.8.13.dev0
```

  1. صنع venv جديد مع 2020.8.13
  2. أضاف stockquotes == 2.0.0 إلى setup.py الخاص بي
  3. ركض ~/.pyenv/versions/pipenv/bin/pipenv lock
  4. لا نرد ، رؤية الخطأ مع
         "wrapt": {
-            "hashes": [
-                "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
-            ],
-            "version": "==1.12.1"
+            "editable": true,
+            "path": "."
         }
     },

frostming شكرًا لك على الاقتراح وإلقاء نظرة ، ويسعدني إجراء المزيد من الاختبارات أو تصحيح هذا الاختبار إذا ضللت الطريق.

تضمين التغريدة

  1. صنع venv جديد مع 2020.8.13

هل هذه الخطوة مهمة لإعادة إنتاج الخطأ؟ أقوم بإنشاء بيبينف ولا يمكنني التكاثر. ستكون صورة عامل الإرساء مفيدة جدًا إذا أمكن

تضمين التغريدة

  1. صنع venv جديد مع 2020.8.13

هل هذه الخطوة مهمة لإعادة إنتاج الخطأ؟ أقوم بإنشاء بيبينف ولا يمكنني التكاثر. ستكون صورة عامل الإرساء مفيدة جدًا إذا أمكن

حسن العين لكنني أجريت التغييرات التالية وما زلت قادرًا على التكاثر باستخدام أحدث إصدار رئيسي. بالنسبة للخطوة 4 ، قمت بتحديث برنامج التثبيت الخاص بي:

-PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
+PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 $HOME/.pyenv/versions/pipenv/bin/pipenv install --deploy

ومازال لدينا:

         "wrapt": {
-            "hashes": [
-                "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
-            ],
-            "version": "==1.12.1"
+            "editable": true,
+            "path": "."
         }
     },

سعيد لتجربة المزيد من الأشياء! شكر

أوه ، لقد تمكنت من إعادة إنتاجه! لم ألاحظ أن العامل الحاسم هو VENV_IN_PROJECT.

أوه ، لقد تمكنت من إعادة إنتاجه! لم ألاحظ أن العامل الحاسم هو VENV_IN_PROJECT.

: lift_hands: أخبار رائعة! آسف لقد أهملت أن أعطيك ملف Dockerfile ، فاتت هذه الملاحظة في قراءتي الأولى

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

القضايا ذات الصلة

konstin picture konstin  ·  3تعليقات

fbender picture fbender  ·  3تعليقات

jeyraof picture jeyraof  ·  3تعليقات

bgjelstrup picture bgjelstrup  ·  3تعليقات

ansrivas picture ansrivas  ·  3تعليقات