سؤال

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

من الناحية المثالية، سوف يعمل المستخدمون setup.py install أو setup.py install --magic-doer=/path/to/executable. وبعد إذا استخدموا الخيار الثاني، فقد قمت بتعيين متغير في مكان ما في التعليمات البرمجية، ثم انتقل إليه.

هل هذا ممكن مع بيثون setuptoolsب ان كان هاكذا كيف افعلها؟

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

المحلول

يبدو أنك تستطيع ... اقرأ هذه.

استخراج من المقال:

الأوامر هي فئة بسيطة تستمد من setuptools.command، وتحدد بعض العناصر الدنيا، والتي هي:

description: describe the command
user_options: a list of options
initialize_options(): called at startup
finalize_options(): called at the end
run(): called to run the command

لا يزال Doc Setuptools فارغا حول الأمر الفيزي الفيزيائي، ولكن يبدو أن الطبقة الدنيا تبدو مثل هذا:

 class MyCommand(Command):
     """setuptools Command"""
     description = "run my command"
     user_options = tuple()
     def initialize_options(self):
         """init options"""
         pass

     def finalize_options(self):
         """finalize options"""
         pass

     def run(self):
         """runner"""
         XXX DO THE JOB HERE

يمكن بعد ذلك أن يكون الفصل هو أمر كأمر، باستخدام نقطة إدخال في ملف Setup.py الخاص به:

 setup(
     # ...
     entry_points = {
     "distutils.commands": [
     "my_command = mypackage.some_module:MyCommand"]}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top