Python Setuptools التكوين المخصص
سؤال
أنا التعبئة والتغليف وحدة بيثون، وأود أن يكون المستخدمون قادرين على بناء الوحدة النمطية مع بعض الخيارات المخصصة. على وجه التحديد، ستقوم الحزمة ببعض السحر الإضافي إذا قمت بتوفير ذلك ببعض الملفات التنفيذية التي يمكن استخدامها.
من الناحية المثالية، سوف يعمل المستخدمون 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"]}