سؤال

ويمكن للشخص أن يفسر كيف ترتبط البيض من المعلومات الدلائل إلى وحدات كل منها؟ على سبيل المثال، لدي ما يلي:

/usr/local/lib/python2.5/site-packages/quodlibet/
/usr/local/lib/python2.5/site-packages/quodlibet-2.0.egg-info/

وأفترض الدليل البيض المعلومات هو جعل الوحدة المقابلة مرئية للsetuptools (easy_install)، أليس كذلك؟ إذا كان الأمر كذلك، كيف setuptools التعادل الدليل البيض من المعلومات إلى الدليل وحدة؟

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

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

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

المحلول

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

وpkg_resources (والذي هو المكتبة التي يقرأ البيانات الوصفية) لديه require وظيفة والتي يمكن استخدامها لطلب إصدار محدد من الحزمة. ل "الطراز القديم"، الواردات العادية، easy_install الخارقة ملف .pth للحصول على دليل البيض على sys.path. ل--single-نسخة من الخارج تمكن، هذا القرصنة ليست ضرورية، لأنه لن يكون هناك سوى نسخة واحدة مثبتة (عن طريق البنية التحتية pacakging للنظام، مثل دورة في الدقيقة أو نظام إدارة حزم دبيان). لا يزال تضمين اينفو البيض، للتطبيقات التي تستخدم require (أو أي من pkg_resources آخرين آليات ملزمة).

إذا كنت تريد تثبيت الحزمة من قبل بشق ربط، أوصي لاستخدام "setup.py تطوير". هذا هو أمر من setuptools التي لا فعلا تثبيت البويضة، ولكن يجعل من المتاح الموقع واسعة. للقيام بذلك، فإنه يخلق ملف الارتباط البيض بحيث pkg_resources يمكن العثور عليه، وأنها تعالج ملف .pth، بحيث الواردات العادية يمكن العثور عليه.

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