我的python入口点需要作为模块(而不是脚本)运行,如:
python -m foo.bar
Run Code Online (Sandbox Code Playgroud)
以下不起作用(并且不应该):
python foo/bar.py
Run Code Online (Sandbox Code Playgroud)
如何使用上面的第一个调用在pycharm中创建运行我的代码的运行确认?
小智 41
我使用的解决方法是我的脚本,它使用相对导入.
python -m实际上调用了一个名为runpy.py的脚本,它是标准Python安装的一部分.这两个调用是等效的:
python -m my_module.a.b module_arguments
python python_lib_directory/runpy.py my_module.a.b module_arguments
Run Code Online (Sandbox Code Playgroud)
使用后一种方法设置运行/调试配置:
脚本: python_lib_directory/runpy.py
脚本参数: my_module.ab module_arguments
解释器选项:(留空,不需要-m)
and*_*otn 31
根据man python,-m选项
-m module-name在
sys.path中搜索指定的模块,并将相应的.py文件作为脚本运行.
因此,大多数情况下,您只需bar.py在"项目"工具窗口中右键单击并选择即可Run bar.
如果确实需要使用该-m选项,请将其指定为Interpreter选项,并在Edit Configurations对话框中将模块名称作为Script:

| 归档时间: |
|
| 查看次数: |
12307 次 |
| 最近记录: |