python解释器具有-m
模块选项"将库模块模块作为脚本运行".
使用此python代码a.py:
if __name__ == "__main__":
print __package__
print __name__
Run Code Online (Sandbox Code Playgroud)
我测试python -m a
得到了
"" <-- Empty String
__main__
Run Code Online (Sandbox Code Playgroud)
而python a.py
回报
None <-- None
__main__
Run Code Online (Sandbox Code Playgroud)
对我来说,这两个调用似乎是相同的,除非__package__在使用-m选项调用时不是None.
有趣的是,python -m runpy a
我得到了与python -m a
编译的python模块相同的a.pyc.
这些调用之间的(实际)区别是什么?他们之间有什么利弊?
此外,David Beazley的Python Essential Reference将其解释为"-m选项将库模块作为脚本运行,该脚本在执行主脚本之前在__main__模块内执行".这是什么意思?
我在Windows 10,python 3.x via上安装了Jupyter
$ pip install jupyter
Run Code Online (Sandbox Code Playgroud)
安装工作正常,即使我确实重新启动了终端.
但试图跑
$ jupyter notebook
Run Code Online (Sandbox Code Playgroud)
'jupyter'不被识别为内部或外部命令,可操作程序或批处理文件.
我如何以及在哪里找到Jupyter的可执行文件?