如何配置ipy_user_conf.py以使IPython在正确的IDLE下启动?
我用的是64位的Vista系统,Python版本是2.6,还有2.7和3.1。
我的配置文件ipy_user_conf.py里有一些示例,教我怎么设置编辑器。我试过用
ipy_editors.idle()
但是
[C:Python26/Scripts]
|4>ed xxx.py
编辑中... > C:\Python26\lib\idlelib/idle.py "xxx.py"
这会打开Python 3.1的IDLE,而不是打开xxx.py。
接着我模仿了配置文件里的一个示例,
ipy_editors.scite('c:/opt/scite/scite.exe')
然后改成
ipy_editors.idle("c:/Python26/Lib/idlelib/idle.pyw")
可是
[C:Python26/Scripts]
|4>ed xxx.py
编辑中... > c:/Python26/Lib/idlelib/idle.pyw "xxx.py"
这又打开了c:/Python26/Lib/idlelib/idle.pyw这个文件,还是在Python 3.1的IDLE里。
我现在真不知道该怎么办了。请给点建议。
顺便说一下,直接运行xxx.py是没问题的。
1 个回答
最可能的原因是Windows对文件名后缀的关联设置。我猜您最后安装的Python版本是3.1,所以现在默认情况下,.py和.pyw文件都和3.1的程序关联在一起了。(您可以通过运行 assoc .py
来确认哪个Python版本和.py/.pyw后缀关联。还有其他方法可以验证。)
为了绕过这个问题,您可以明确指定要运行哪个Python版本:
ipy_editors.idle('c:/Python26/pythonw.exe c:/Python26/Lib/idlelib/idle.pyw')
补充:
一种比较Python风格的方法来测试这种关联是创建一个名为test.py的文件,例如:
import sys
print sys.version
然后在命令提示符下,直接运行 test.py
。