如何控制双击文件时运行的Python版本?
有没有办法控制双击一个.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来运行呢?
4 个回答
3
你可以使用 ASSOC
和 FTYPE
。
assoc .py=pyfile
ftype pyfile=c:\Python27\python.exe %1
8
在Windows系统上,你需要修改文件关联,比如通过右键点击文件,然后选择 打开方式...
→ 选择默认程序
,或者通过控制面板的文件夹设置来进行修改。你可以通过浏览按钮找到你想要的python.exe,从而选择不同的Python版本:
另外,你也可以在命令行中通过输入以下命令来更改关联:
ftype Python.File="C:\Python27\python.exe" "%1" %*
注意,这需要管理员权限。如果你的电脑启用了用户账户控制(UAC),你需要在开始菜单中右键点击cmd,选择 以管理员身份运行
。
在支持freedesktop.org的桌面环境中,你可以使用xdg-mime
来配置文件关联。
在基于debian的系统中,你可以使用update-alternatives
来更改默认的Python版本。在所有系统中,你也可以通过创建符号链接,将Python指向正确的实现,像这样:
$ sudo ln -sf python2.7 /usr/bin/python
如果文件被标记为可执行的,并且它的开头有 #!
和解释器的名称,那么它也可以直接从命令行或图形界面运行:
#!/usr/bin/env python
如果你只想为你的程序选择特定的Python版本,可以用以下其中一行来启动你的Python程序:
#!/usr/bin/env python2.7
#!/usr/bin/python2.7