我想向 setup.py 添加一个入口点并传入一个参数。这可能吗?如果可能的话,如何实现?我已经尝试过,并查找了文档,但不知道该怎么做。
示例:包格式:
mypackage/
setup.py
mypackage/
__main__.py
main.py 包含:
def main(print_me=False):
if print_me:
print("test")
setup.py 包含如下所示的控制台脚本:
entry_points={
'console_scripts': [
'test = mypackage.__main__:main(print_me=True)'
]}
这似乎不起作用,如果有的话,正确的方法是什么?
最佳答案
根据setuptools' documentation on "Automatic Script Creation"这是不可能的:
The functions you specify are called with no arguments
或者你可以做这样的事情:
在__main__.py
中:
def main_true():
return main(print_me=True)
在setup.py
中:
entry_points={
'console_scripts': [
'test = mypackage.__main__:main_true'
],
},
但在这种特殊情况下,由于 True
已经是参数 print_me
的默认参数,这可能没有必要,并且更改 'test = mypackage. __main__:main(print_me=True)'
到 'test = mypackage.__main__:main'
应该足够了。
关于python - 如何将入口点/控制台脚本添加到使用参数的 setup.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60423459/