【问题标题】:Python 3.6 is not default when I run a script当我运行脚本时,Python 3.6 不是默认的
【发布时间】:2018-07-04 19:48:44
【问题描述】:

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

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

仅运行 python 显示 Python 3.6.4

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

import sys
print(sys.version)
print(sys.executable)

这是输出

【问题讨论】:

  • cmd 中输入path 并查看设置了哪个python 路径。
  • C:\Users\asleb\AppData\Local\Programs\Python\Python36-32\
  • C:\Users\asleb\AppData\Local\Programs\Python\Python36-32\Scripts\MyScripts 也在路径中,但是当我从 cmd 运行此文件夹中的脚本时. > myscript.py 它仍然会使用 python 2.7
  • v27.py 的运行情况如何?你在用python v27.py吗?
  • 我只是在输入 v27.py 而没有 python。如果您在帖子中打开 v27.py 的此图像输出,您可以看到这一点

标签: python path default


【解决方案1】:

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

您可以转到控制面板更改默认程序,也可以在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环境变量中。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 您将如何设置一个文件夹,以便您可以在不指定路径的情况下从终端运行脚本并使用 python3 运行它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2019-06-25
    • 2015-06-03
    • 2019-01-12
    • 1970-01-01
    • 2017-05-10
    相关资源
    最近更新 更多