如何解决pip/setuptools 控制台脚本可以将 python 选项传递给 python 本身吗?
例如,使用 -m
进行 pdb 和事后调试,您可以这样做:
python -m pdb script.py arg1 --kwarg
(例如,arg1
和 kwarg
是使用 sys.argv
模块从 argparse
解析出来的)。
可以使用 pip/setuptools 的入口点创建 CLI 工具:
setup(
...
entry_points={
"console_scripts": [
"toolname = my_project.script:main"
]
},)
现在安装 pip install my_project
后,可以使用 toolname
代替 python /path/to/script.py
。是否可以将参数直接传递给 python - 比如 -m
来调用 pdb
?
编辑:
与 python setup tools console_scripts with arguments 不同,我知道如何将参数传递给脚本,而且我正在寻找如何将参数传递给 python 本身。
How to start debugger with an entry_point script 中使用的 python -m pdb $(which myscript)
方法非常好,但它仅在脚本执行时实际调用 main()
时才有效(脚本可能来自第三方库)。
python -c "import pdb,pkg_resources; pdb.run('pkg_resources.load_entry_point(\'mylocalpkg\',\'console_scripts\',\'myscript\')()')"
支持更多脚本和平台,但我不确定它是否适用于 -m pdb
以外的其他 Python 选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。