سؤال

لقد أنتجت بيضة بيثون باستخدام setuptools وأرغب في الوصول إلى بيانات التعريف في وقت التشغيل. لقد عملت حاليًا هذا:

import pkg_resources
dist = pkg_resources.get_distribution("my_project")
print(dist.version)

ولكن من المحتمل أن يعمل هذا بشكل غير صحيح إذا كان لدي إصدارات متعددة من نفس البيضة المثبتة. وإذا قمت بتثبيت إصدار Egg and Development ، فإن تشغيل هذا الرمز من إصدار التطوير سيحصل على إصدار البيض المثبت.

لذا ، كيف أحصل على بيانات التعريف لي البيض ليس بعض بيضة مطابقة عشوائية مثبتة على نظامي؟

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

المحلول

أنا جديد إلى حد ما على Python أيضًا ، لكن مما أفهمه:

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

نصائح أخرى

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

في ملاحظة الموقع: هذه هي بالضبط نقطة أنظمة مثل ZC.Buildout والتي تتيح لك تحديد الإصدار الدقيق من المكتبة التي سيتم توفيرها لك على سبيل المثال أثناء تطوير تطبيق أو تقديم تطبيق ويب. لذلك يمكنك على سبيل المثال استخدام الإصدار 1.0 لمشروع واحد و 1.2 لآخر.

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