You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pydev频繁丢失解释器配置,日志报“unknown encoding: idna”错误

问题描述

每次重启Eclipse后,所有Python3文件均无法打开,提示解释器配置错误。进入配置界面后发现之前的解释器配置全部丢失,需重新配置。已确认Eclipse对Windows系统中所有配置写入路径拥有写入权限,日志中反复出现如下错误:

- Err output:
Traceback (most recent call last):
  File "C:\Users\me\.p2\pool\plugins\org.python.pydev.core_10.1.3.202301231743\pysrc\pycompletionserver.py", line 6, in <module>
    from _pydevd_bundle.pydevd_constants import IS_JYTHON
  File "C:\Users\me\.p2\pool\plugins\org.python.pydev.core_10.1.3.202301231743\pysrc\_pydevd_bundle\pydevd_constants.py", line 32, in <module>
    _codecs.lookup(_codec)
LookupError: unknown encoding: idna

!STACK 0
java.lang.RuntimeException: Error creating python process - exited before creating sockets - exitValue = (1).
ProcessInfo:

 - Executed: C:\Windows\py.exe -u C:\Users\me\.p2\pool\plugins\org.python.pydev.core_10.1.3.202301231743\pysrc\pycompletionserver.py 58747

有时还会出现如下堆栈跟踪:

at org.python.pydev.core.log.Log.log(Log.java:33)
    at org.python.pydev.ast.codecompletion.shell.AbstractShell.startIt(AbstractShell.java:287)
    at org.python.pydev.ast.codecompletion.shell.ShellsContainer.getServerShell(ShellsContainer.java:240)
    at org.python.pydev.ast.codecompletion.shell.ShellsContainer.getServerShell(ShellsContainer.java:168)
    at org.python.pydev.ast.codecompletion.shell.AbstractShell.getServerShell(AbstractShell.java:219)
    at org.python.pydev.ast.codecompletion.revisited.modules.CompiledModule.createTokensFromServer(CompiledModule.java:377)
    at org.python.pydev.ast.codecompletion.revisited.modules.CompiledModule.<init>(CompiledModule.java:180)
    at org.python.pydev.ast.codecompletion.revisited.modules.AbstractModule.createModule(AbstractModule.java:293)
    at org.python.pydev.ast.codecompletion.revisited.ModulesManager.getModule(ModulesManager.java:1038)
    at org.python.pydev.ast.codecompletion.revisited.ModulesManager.getModule(ModulesManager.java:869)
    at org.python.pydev.ast.codecompletion.revisited.SystemModulesManager.getModule(SystemModulesManager.java:400)
    at com.python.pydev.analysis.additionalinfo.AbstractAdditionalDependencyInfo.updateKeysIfNeededAndSave(AbstractAdditionalDependencyInfo.java:259)
    at com.python.pydev.analysis.system_info_builder.InterpreterInfoBuilder.syncInfoToPythonPath(InterpreterInfoBuilder.java:171)
    at com.python.pydev.analysis.system_info_builder.InterpreterInfoBuilder.syncInfoToPythonPath(InterpreterInfoBuilder.java:97)
    at com.python.pydev.analysis.system_info_builder.InterpreterInfoBuilder.syncInfoToPythonPath(InterpreterInfoBuilder.java:83)
    at org.python.pydev.ast.codecompletion.revisited.SyncSystemModulesManager.synchronizeManagerToNameToInfoPythonpath(SyncSystemModulesManager.java:392)
    at org.python.pydev.ast.codecompletion.revisited.SyncSystemModulesManagerScheduler$SynchJob.run(SyncSystemModulesManagerScheduler.java:257)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
解决方案

1. 替换Python启动器为具体解释器路径

日志显示当前使用C:\Windows\py.exe作为解释器启动器,该工具可能存在编码或版本匹配问题。在Eclipse的Python解释器配置中,直接指定具体的Python安装路径(如C:\Python39\python.exe),绕过py.exe启动器。

2. 修复Python的idna编码支持

错误LookupError: unknown encoding: idna表明Python环境缺少idna编码组件,可通过以下方式修复:

  • 重新安装对应版本的Python,选择“修复”选项,确保标准库完整。
  • 打开命令提示符,执行pip install idna(虚拟环境需先激活)手动安装idna包。

3. 更新PyDev插件至最新版本

当前使用的PyDev版本为10.1.3,可能存在兼容性bug。进入Eclipse插件市场,搜索PyDev并更新到最新稳定版,新版本通常会修复编码和配置保存相关问题。

4. 清除PyDev缓存文件

关闭Eclipse后,删除以下路径的缓存文件,重启后重新配置解释器:

  • C:\Users\me\.eclipse路径下的org.python.pydev相关文件夹
  • C:\Users\me\.pydev文件夹

5. 配置系统编码环境变量

在系统环境变量中添加或修改PYTHONIOENCODING变量,设置值为utf-8,避免编码冲突导致的配置丢失问题,设置完成后重启Eclipse。

内容的提问来源于stack exchange,提问作者latinerd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:13:18