在pycharm下执行python -m命令

1. “python -m”

-m: run library module as a script (terminates option list)

将模块当做脚本去启动有什么用?
python xxx.py
python -m xxx
不同的加载py文件的方式,主要是影响sys.path这个属性

举例:
test.py

import sys
print(sys.path[0])

执行python xxx.py脚本运行模式

python myproj/test.py 

return:

'/home/code/myproj'#绝对路径

执行python -m xxx模块运行模式

cd code
python -m myproj.test 

return:

''#空路径(相对路径)

由于sys.path[0]的不同,也解释了为什么from … import xxx这类相对路径模块导入在python xxx.py启动下报错:

ValueError: attempted relative import beyond top-level package

2.在pycharm下以python -m启动

对应于命令行命令:

cd trajnetplusplusbaselines
python -m trajnetbaselines.lstm.trainer --path synth_data

在pycharm中的设置为:

在pycharm下执行python -m命令_第1张图片

参考:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003879119-how-to-run-python-m-command-in-pycharm-

你可能感兴趣的:(python)