سؤال

إذا كان كل من بلدي __init__.py الملفات فارغة، هل يجب علي تخزينها في التحكم في الإصدار، أم أن هناك طريقة للقيام بذلك distutils خلق فارغة __init__.py الملفات أثناء التثبيت؟

هل كانت مفيدة؟

المحلول

هل هناك سبب تريد ذلك يتجنب وضع فارغة __init__.py الملفات في التحكم في الإصدار؟إذا قمت بذلك فلن تتمكن من ذلك import حزمك من الدليل المصدر بدون تشغيل distutils أولاً.

إذا كنت تريد ذلك حقًا، أفترض أنه يمكنك الإنشاء __init__.py في setup.py.يجب أن يكون قبل جري distutils.setup, ، لذا setup نفسه قادر على العثور على الحزم الخاصة بك:

from distutils import setup
import os

for path in [my_package_directories]:
    filename = os.path.join(pagh, '__init__.py')
    if not os.path.exists(filename):
        init = open(filename, 'w')
        init.close()

setup(
...
)

لكن...ماذا ستستفيد من هذا، مقارنة بامتلاكك الفراغ __init__.py الملفات هناك في المقام الأول؟

نصائح أخرى

في بايثون، __init__.py الملفات في الواقع لها معنى!يقصدون أن المجلد الموجود فيه هو وحدة Python.على هذا النحو، لديهم دور حقيقي في التعليمات البرمجية الخاصة بك ويجب على الأرجح تخزينها في التحكم في الإصدار.

يمكنك أن تتخيل مجلدًا في شجرة المصدر الخاصة بك ليس وحدة Python، على سبيل المثال مجلد يحتوي على الموارد فقط (على سبيل المثال.الصور) ولا يوجد رمز.لن يحتاج هذا المجلد إلى ملف __init__.py الملف فيه.الآن كيف يمكنك التمييز بين المجلدات التي يجب على distutils إنشاء تلك الملفات والمجلدات التي لا ينبغي لها إنشاءها فيها؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top