تجميد النقاط دون تبعيات الحزم المثبتة
-
29-10-2019 - |
سؤال
عندما أفعل pip freeze
أحصل على الحزم التي قمت بتثبيتها بشكل صريح بالإضافة إلى تلك الحزم التي تعتمد على تلك الحزم.
على سبيل المثال:
$ pip install fabric
...
$ pip freeze
Fabric==1.0.1
paramiko==1.7.6
pycrypto==2.3
حسنًا، ولكن بعد ذلك أنتقل إلى تثبيت ملف require.txt هذا على بيئة أخرى pip install
سأحصل على نفس النتيجة مع إزالة السطرين الأخيرين.
لذلك سؤالي هو:كيف يمكنني إنشاء ملف Requirements.txt الأكثر بساطة حيث لا تظهر كافة التبعيات القابلة للحساب؟
المحلول
الآن هناك (إخلاء المسؤولية:أنا فعلت هذا).
كل ما تحتاجه هو التثبيت pip-chill
من PyPI وتشغيلها pip-chill
من بيئة بايثون الخاصة بك.
إذا كنت تشعر بالمغامرة ولا تريد تثبيت الإصدارات (أو تريد استخدام pip-compile)، فيمكنك استخدام pip-chill --no-version
وسوف يوفر لك الحد الأدنى من المتطلبات لبيئتك الحالية.
نصائح أخرى
لا توجد طريقة لإنشاء "أكثر المتطلبات بساطة. txt" باستخدام النقطة - ولا أعرف ما إذا كنت بحاجة إليها في هذه الحالة.
من الجيد أن يكون لديك جميع الحزم في ملف requirements.txt ، لأنك متأكد من إصدارات التبعيات التي تعمل مع بيئتك.
فكر في تحديث باراميكو وكسر مواضع التوافق السابقة: ستواجه مشاكل.