Shebang/choose 哪个版本的 Python 脚本要 运行

Shebang/choose what version of Python a script is going to run

和很多人一样,我同时拥有 python 的 2.7 和 3.5 版本。有些代码是向后兼容的,有些则不是。这是因为缺少适用于 2.7 而不是适用于 3.5 的模块。因此,我有相当多的 2.7 脚本和相当多的 3.5 脚本。 .py扩展名在我的电脑里默认是python的3.5版本。我的问题如下:您如何 "tell" 脚本使用另一个版本的 python(例如 2.7)而不是我使用的默认版本(3.5)。我听说过 Shebang,但它只是 Linux。

windows shell 不使用 shebang 行来区分文件类型。我假设您想使用不同于默认解释器的解释器来启动您的 py 文件。

您有 2 个选择:

  1. 如果你不把2.7版本的py文件和3.5版本的py文件混合在一个文件夹中,你可以使用virtualenv http://docs.python-guide.org/en/latest/dev/virtualenvs/

    这会创建隔离环境,是隔离任何项目的非常有用的方法。

  2. 如果你混合了这些文件,你只需创建 .bat 文件,它设置你的 Python 2.7 解释器的路径并执行 py 文件。

正如 J. F. Sebastian 对 this answer, the Python Launcher for Windows 的评论中提到的,可以 select 将 Python 版本从 shebang 行 运行 。根据文档,它默认安装在 Python 3.3 及更高版本中。