创建虚拟环境时,我运行:
python3 -m venv env
我明白那个-m
执行一个模块 (venv
在这种情况下)。我也知道只有当你有__main__.py
文件在你的模块中。那么,捷径是什么呢-m
实际上代表什么?
Is it:
-
-m
for module or
-
-m
for __main__
- 还有别的事吗?
我找不到明确的解释。以下是我调查的一些资源:
- https://docs.python.org/2/using/cmdline.html#cmdoption-m
- https://www.python.org/dev/peps/pep-0547/
- 是否使用 -m 选项执行 Python 代码
在
第1.1.1节
它清楚地说-m
是模块名称,here.
引用文档:
“由于参数是模块名称,因此不能给出文件扩展名 (.py)。模块名称应该是有效的 Python 模块名称”
虽然-m
是任意的,因为在后端它是一个 argparser 完成所有的工作。
当使用 -m module-name 调用时,给定的模块位于 Python 模块路径上并作为脚本执行
包名称也是允许的。当提供包名称而不是普通模块时,解释器将执行<pkg>.__main__
我猜main
以“m”开头也是巧合。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)