安装了Python2.X和Python3.X后Python2.X IDLE打不开,两个版本都卸载后重装仍然打不开,在网上找了几种办法,希望对大家能有所帮助
1、首先查看环境变量是否配置正确
配置方法网上有很多例子,这里就不细说了
Path=C:\Python31
PYTHONPATH= C:\Python31\Lib;C:\Python31\Lib\tkinter
TCL_LIBRARY=C:\Python31\tcl\tcl8.5
TK_LIBRARY=C:\Python31\tcl\tk8.5Path=C:\Python31
2、可能是两个版本配置不兼容造成
进入C盘->用户目录->administrator(你的用户名) 找到.idlerc文件夹,或者是 Linux下 home/your name/.idlerc 里面的 config-main.cfg 和 config-extensions.cfg ,将其删除,再启动idle
嗯~~很遗憾,我的本本没有这个文件夹,我们继续前行
3、在命令行运行idle.py查看报错并分析
win+R输入cmd打开命令行,
输入C:\Python27\Lib\idlelib\idle.py
3.1.1 在网上看到一种情况,提示是:
Warning:unable to create user config directory C:\Users\bigfool\.idlerc
Check path and permissions.
Exiting!
貌似是文件夹权限的问题
3.1.2解决办法 :更改文件夹的权限
文件夹上C:\User\你当前用户名 右键》属性》安全》高级
我的里面有三个用户:
其中两个是完全控制,erveryone用户是“读取和执行”权限。
对erveryone用户添加权限:
点击“添加”按钮,输入要选择的对象名称everyone,或者点“高级》立即搜索”找到erveryone。
点击“确定”选“完全控制”权限
再点击“确定”
3.2.1 然而,我的并不是这样的,我的报错如下:
File "C:\Python27\lib\lib-tk\Tkinter.py", line 80, in _stringify
value = unicode(value, 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
3.2.2 解决办法,更改编码方式
找到报错文件C:\Python27\Lib\lib-tk\Tkinter.py
分析
Windos默认gbk作为系统内部编码,而配置里的编码格式是utf-8,所以导致了错误
修改
将_stringify函数里的value = unicode(value, 'utf-8')修改为value = unicode(value, 'gbk')
4、重新输入C:\Python27\Lib\idlelib\idle.py
等待一段时间后成功弹出IDLE,返回桌面也能打开IDLE,
---------------------
原文:https://blog.****.net/mvp_Dawn/article/details/80249636