当 运行 来自控制台的 python 脚本时,py 与 python 之间有什么区别
When running a python script from the console what is the difference between py vs python
我一直在阅读有关 python 的内容,在使用 shebang 行时我有一定的疑问。当我 运行:
py file_name.py
它使用我在 shebang 行中指定的 python 版本执行脚本,但是当我执行时,
python file_name.py
使用的是 Python 的最新版本,而不是我指定的版本。我想知道在从命令行 运行ning 脚本时使用 python
和 py
之间的区别。我的 shebang 台词是 #! python3.4
使用 python
或 py
有不同的含义还是最终两者相同?
要查看每个命令使用的 Python 版本,运行 这两个命令:
python -c "import sys;print(sys.version)"
py -c "import sys;print(sys.version)"
如果两者显示相同的版本,那么在您的系统上它们目前是相同的。 但是,一个或另一个可能会更新。我个人建议不要依赖任何一个,并在脚本中明确调用您想要的 Python 版本。
(此答案假设您使用的是 Windows,但我希望它也主要适用于其他操作系统,取模一些细节)
"python.exe" 是实际的解释器。您的系统上每个 Python 版本都有一个。当您在命令行上 运行 "python" 时执行哪个版本取决于您的 PATH
环境变量和您当前的工作目录。
"py.exe"就是Python Launcher。您可能只有一个,即使您安装了多个 Python。我的在 C:\Windows
。它查看脚本,决定它使用的版本,并将实际执行委托给适当的解释器。
我一直在阅读有关 python 的内容,在使用 shebang 行时我有一定的疑问。当我 运行:
py file_name.py
它使用我在 shebang 行中指定的 python 版本执行脚本,但是当我执行时,
python file_name.py
使用的是 Python 的最新版本,而不是我指定的版本。我想知道在从命令行 运行ning 脚本时使用 python
和 py
之间的区别。我的 shebang 台词是 #! python3.4
使用 python
或 py
有不同的含义还是最终两者相同?
要查看每个命令使用的 Python 版本,运行 这两个命令:
python -c "import sys;print(sys.version)"
py -c "import sys;print(sys.version)"
如果两者显示相同的版本,那么在您的系统上它们目前是相同的。 但是,一个或另一个可能会更新。我个人建议不要依赖任何一个,并在脚本中明确调用您想要的 Python 版本。
(此答案假设您使用的是 Windows,但我希望它也主要适用于其他操作系统,取模一些细节)
"python.exe" 是实际的解释器。您的系统上每个 Python 版本都有一个。当您在命令行上 运行 "python" 时执行哪个版本取决于您的 PATH
环境变量和您当前的工作目录。
"py.exe"就是Python Launcher。您可能只有一个,即使您安装了多个 Python。我的在 C:\Windows
。它查看脚本,决定它使用的版本,并将实际执行委托给适当的解释器。