python的shell用法
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]
Python -m
python -m module名 args
检索对应的模块名去执行,对于一个普通的模块,可能下面两种写法实际上是等效的:
python -m test
python test.py
两种写法都是将对应的py文件作为主程序来执行(即__name__
为"__main__"
),但是python test.py
的写法存在一个问题,它只会检索当前目录下的test.py来执行,而-m的写法是检索sys.path下的test模块来执行。
对于包内模块,则调用时需要在包内实现一个__main__.py
,这样python -m 搜索到包的时候才能找到一个主程序使用。
python -m pip
官方开始建议用python -m pip install
来代替pip install
这样可以避免模块包下载位置错乱的问题,因为python -m pip一定是我们指定的python环境中的pip。