在Spyder终端执行conda list命令时遭遇bad escape \P错误
解决Spyder中执行
conda list出现error: bad escape \P的问题 问题描述
安装Anaconda后,在Spyder的IPython终端执行conda list(或%conda list魔法命令)时,触发正则转义错误:
error: bad escape \P
尝试卸载重装指定版本的Jedi(0.15.2)和Parso(0.5.2)后问题仍未解决,其他电脑安装Anaconda后无此异常。
解决方案
直接使用Anaconda Prompt执行命令
绕过Spyder的IPython终端,打开Anaconda Prompt直接输入conda list,即可正常查看包列表,这是最快捷的临时解决方式。修复IPython的正则表达式问题
错误源于IPython的packaging.py文件处理路径时的正则转义漏洞,操作步骤:- 找到文件路径:
C:\ProgramData\anaconda4\Lib\site-packages\IPython\core\magics\packaging.py - 打开文件,定位到
_get_conda_like_executable函数中的re.search调用部分 - 将正则表达式改为原始字符串(在表达式前加
r前缀),或者把路径里的单个反斜杠\替换为双反斜杠\\,避免被识别为正则转义符。
- 找到文件路径:
更新IPython到兼容版本
在Anaconda Prompt中执行以下命令,更新IPython至修复了该正则bug的版本:conda update ipython创建全新conda环境
若上述方法无效,创建独立conda环境重新安装Spyder,规避原有环境的冲突问题:conda create -n spyder_new_env spyder -y conda activate spyder_new_env spyder在新环境的Spyder终端中尝试执行
conda list即可。
内容的提问来源于stack exchange,提问作者Fernando Saúl Huerta Márquez
相关产品推荐
相关产品推荐

