Pipenv: بناء عجلات مع pipenv؟

تم إنشاؤها على ٧ مارس ٢٠١٨  ·  3تعليقات  ·  مصدر: pypa/pipenv

أود أن أكون قادرًا على إنشاء عجلات لجميع التبعيات في Pipfile.lock مع الاستفادة من التحقق من التجزئة. قبل 11.1.2 ، يمكنك تحقيق ذلك من خلال:

pipenv lock -r > reqs.txt
pip wheel -r reqs.txt

_ (# 1417 كان يمثل مشكلة بالنسبة لسير العمل هذا ، ولكنه نجح بخلاف ذلك) _

في 11.1.2 ، تمت إزالة التجزئة من إخراج نمط المتطلبات والذي يعني (afaik) أنه لا توجد طريقة لإنشاء / تنزيل عجلات تم التحقق من تجزئتها من ملف قفل.

حالة الاستخدام هي حزم وحدات Python للتثبيت أو التثبيت دون اتصال بالإنترنت بدون أدوات تجميع / تطوير على الخادم. يمكن بناء العجلات وتوزيعها وتثبيتها في بيئة بايثون مبسطة.


هل هذه الوظيفة التي قد تفكر في تضمينها في المشروع؟ إذا لم يكن كذلك ، فهل هناك طريقة ما لدعم سير العمل هذا مرة أخرى؟

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

فقط في حالة بحث أي شخص هنا عن حل ، فمن السهل جدًا (بافتراض أن العناصر الداخلية pipenv لا تتغير):

from pipenv.utils import convert_deps_to_pip
with open('Pipfile.lock') as f:
    deps = json.load(f)['default']
# remove local project which wouldn't have a hash
for k, v in list(deps.items()):
    if v.get('path') == '.':
        del(deps[k])
path_to_requirements_file_with_hashes = convert_deps_to_pip(deps)

ال 3 كومينتر

لا توجد خطط لهذا في هذا الوقت

يبدو أن هذا يمثل فرصة رائعة لأداة pipenv-wheels ، رغم ذلك.

فقط في حالة بحث أي شخص هنا عن حل ، فمن السهل جدًا (بافتراض أن العناصر الداخلية pipenv لا تتغير):

from pipenv.utils import convert_deps_to_pip
with open('Pipfile.lock') as f:
    deps = json.load(f)['default']
# remove local project which wouldn't have a hash
for k, v in list(deps.items()):
    if v.get('path') == '.':
        del(deps[k])
path_to_requirements_file_with_hashes = convert_deps_to_pip(deps)
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات