首先新建一个单独的py文件myfile.py,分别在命令行中敲入python myfile.py与python -m myfile.py运行下看看效果。
 
sherry@sherry:~/Documents/github_code$ vim myfile.py 
import sys
print
(sys.path
)
print
("hello world") 
sherry@sherry:~/Documents/github_code$ python -m myfile.py
sherry@sherry:~/Documents/github_code$ python myfile.py 
发现:两行命令都可打印出路径和 hello world,但python -m 比python 多了一行error提示
 
/home/sherry/anaconda3/bin/python: Error 
while finding module
specification 
for 'myfile.py' (ModuleNotFoundError: __path__
attribute not found on 
'myfile' while trying to 
find
'myfile.py')
 
可以看出,python -m myfile.py是以模块方式启动py文件的。 这也就解释了为啥我在开项目的时候遇到了下面这个报错。
 
- 
file 1	
	-train.py
- 
file 2
- 
file 3 
我在命令行中输入下面这行命令是报错的
 
python file.train -h 
输入下面这行是正确的
 
python -m file.train -h