Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何控制双击文件时运行的Python版本?_Python_Windows_Version_Environment Variables_Double Click - Fatal编程技术网

如何控制双击文件时运行的Python版本?

如何控制双击文件时运行的Python版本?,python,windows,version,environment-variables,double-click,Python,Windows,Version,Environment Variables,Double Click,当双击py文件时,有没有办法控制运行哪个版本的python?在命令行和eclipse等环境中,我可以控制运行的版本。但是双击我不确定 我安装了2.6和2.7。2.6适用于某些特定于应用程序的内容,我想将2.7设为默认值。我已经将C:\Python27添加到PATH环境变量中,这在命令行中运行良好。C:\path\to\some\file>python someFile.py将在2.7中运行该文件。但是,如果我从资源管理器双击同一个文件,它将运行2.6。如何让它运行2.7?在Windows上,您必

当双击py文件时,有没有办法控制运行哪个版本的python?在命令行和eclipse等环境中,我可以控制运行的版本。但是双击我不确定

我安装了2.6和2.7。2.6适用于某些特定于应用程序的内容,我想将2.7设为默认值。我已经将C:\Python27添加到PATH环境变量中,这在命令行中运行良好。C:\path\to\some\file>python someFile.py将在2.7中运行该文件。但是,如果我从资源管理器双击同一个文件,它将运行2.6。如何让它运行2.7?

在Windows上,您必须,例如通过右键单击→ 打开与。。。→ 选择默认程序或控制面板的文件夹设置。通过浏览按钮导航到所需的python.exe,可以在多个python安装之间进行选择:

或者,您可以通过键入

ftype Python.File="C:\Python27\python.exe" "%1" %*
请注意,这需要管理员权限。如果您的计算机上已启用UAC,请右键单击“开始”菜单中的cmd并选择“以管理员身份运行”

在freedesktop.org兼容的桌面上,您可以配置与的关联

在基于debian的发行版上,可以使用更改默认python。在所有系统上,您还可以将路径中的python符号链接到正确的实现,如下所示:

$ sudo ln -sf python2.7 /usr/bin/python
如果文件被标记为可执行文件,也可以直接从命令行或GUI执行(如果以!以及口译员的姓名:

#!/usr/bin/env python
要仅为您的程序选择特定的Python版本,可以使用以下行之一启动Python程序:

#!/usr/bin/env python2.7
#!/usr/bin/python2.7

您将在以下问题的答案中找到答案:

您可以使用ASSOC和FTYPE

好的,我已经找到了,这正是我想要的。下载可以找到。安装它使我可以在通过右键单击菜单更改文件关联时选择PythonLauncherforWindowsGUI

添加shebang行

#!/usr/bin/python2.7
强制脚本在2.7中运行


这非常有效,因为我可以控制python的运行版本,用户无需知道。不需要bat文件,也不需要拖拽到快捷方式上。非常干净,而且最重要的是,没有用户错误的空间。

…在所有其他操作系统上,只需将Python解释器的路径放在命令之后!脚本第一行的字符。更新了其他操作系统的答案。不幸的是,这比添加shebang要复杂一点。谢谢您的回复。不幸的是,修改文件扩展名不起作用,因为2.6和2.7具有相同的可执行文件名python.exe。windows似乎无法区分它们。因此,如果我修改文件关联并浏览到2.7。不管怎样,该文件仍在2.6版本中运行。除非我忽略了什么?@ollie他们有相同的可执行基本名称,但没有文件名,即前男友在不同的目录中。我添加了一个显示浏览按钮位置的图像,以及一个命令行alternative.ftype Python.File=C:\Python35\Python.exe%1%*为我设置最后一个Python版本:python3.6。如果您的最后一个版本是3.6,但您想要3.5,只需在您的文件夹xxxpython36中添加一些xxx,这样它将采用最后识别的版本,即python3.5,在cmd删除xxxThanks后,用于您的响应。我试着从命令行运行这些命令。ftype确实在看python26。我把它改为第27点。不过,它似乎并没有影响到浏览器中的双击。文件仍然使用2.6运行。这是我需要做的特定事情,以使其影响资源管理器?@olliedunn,您需要使用assoc返回的相同文件类型。在我的系统上是Python.File。我编辑了这个示例以使用Python.File,因为默认情况下Python安装程序使用的是Python.File。忘记提到我在Windows上。对于没有命名为error的模块:
#!/usr/bin/python2.7