创建虚拟环境时,我运行:
python3 -m venv env
我知道-m
执行一个模块(在这种情况下是venv
)。我也知道它只有在你的模块中有一个__main__.py
文件时才起作用。那么,快捷方式-m
实际上代表什么?
是:
-m
代表模块还是-m
代表__main__
- 其他?
我找不到明确的解释。以下是我调查的一些资源:
创建虚拟环境时,我运行:
python3 -m venv env
我知道-m
执行一个模块(在这种情况下是venv
)。我也知道它只有在你的模块中有一个__main__.py
文件时才起作用。那么,快捷方式-m
实际上代表什么?
是:
-m
代表模块还是-m
代表__main__
我找不到明确的解释。以下是我调查的一些资源:
在第1.1.1节中,明确指出-m
是模块名,此处。
引用文档:
"由于参数是模块名,因此不应给出文件扩展名(.py)。模块名称应为有效的Python模块名称"
尽管-m
是任意的,因为在后端它是一个argparser完成所有工作。
使用-m module-name
调用时,给定的模块位于Python模块路径上并作为脚本执行。
还允许使用包名称。当提供包名称而不是普通模块时,解释器将执行<pkg>.__main__
我想main
也以'm'开头只是巧合。
-m
代表什么。虽然我还可以接受你的答案,但你能否改进一下,提供这个句子的链接:当使用-m模块名时,给定的模块将在Python模块路径上找到并作为脚本执行。
并使用更加更新的Python文档:https://docs.python.org/3.7/using/cmdline.html。 - martin-martinm
代表什么”,而不是“-m
标志有什么作用”。 - Aran-Fey