当我运行脚本时,Python 3.6 不是默认值

Asl*_*rge 3 python default path

我已经设置了环境变量,以便当我在终端中使用 python 命令时运行 python 3.6 版本,但是当我从终端运行 python 脚本时,它使用 python 2.7。

我在路径中包含了一个名为 MyScripts 的文件夹,以便我可以直接从终端运行这些脚本,而无需指定路径。

运行只python显示Python 3.6.4

> 蟒蛇

但执行脚本显示2.7.14。这是脚本v27.py

import sys
print(sys.version)
print(sys.executable)
Run Code Online (Sandbox Code Playgroud)

这是输出

v27.py 的输出

dhi*_*thy 5

由于您运行 Python 脚本(作为可执行文件)而未在命令提示符中指定,因此它将不会使用环境变量python中设置的 python 路径。相反,Windows 将运行与该扩展关联的默认程序。您可以在控制面板\所有控制面板项\默认程序\设置关联下找到关联的程序

您可以转到控制面板更改默认程序,也可以运行以下命令cmd(需要提升权限才能执行此操作)

C:\> assoc .py=Python
C:\> ftype Python="C:\Users\asleb\AppData\Local\Programs\Python\Python36-32\python.exe" "%1" %*
Run Code Online (Sandbox Code Playgroud)

另外,如果您想在没有扩展名的情况下运行(例如v27代替v27.py),则需要添加.py到 PATHEXT 环境变量。