Python 当我 运行 一个脚本时 3.6 不是默认的

Python 3.6 is not default when I run a script

我已经设置了环境变量,因此当我在终端中使用 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)

这是输出

大多数 OS 系统默认使用 python2.7 python。根据您的设置,您必须调用 python3 或调用 /path/to/python3exacutable/python 来调用所需的版本。

如果您的项目允许,请查看 anaconda 作为方便的 python 版本控制解决方案。

由于您 运行 正在 Python 脚本(作为可执行文件)而不在命令提示符中指定 python,因此它不会使用 python 中设置的路径环境变量。相反,windows 将 运行 与该扩展关联的默认程序。您可以在 Control Panel\All Control Panel Items\Default Programs\Set Associations [=16= 下找到关联程序]

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

C:\> assoc .py=Python
C:\> ftype Python="C:\Users\asleb\AppData\Local\Programs\Python\Python36-32\python.exe" "%1" %*

此外,如果你想 运行 没有扩展名(比如 v27 而不是 v27.py),那么你需要将 .py 添加到 PATHEXT 环境变量。