Anaconda与独立PyCharm环境冲突导致Jupyter导入包报WinError193求解决方案
错误根因
从报错堆栈可以定位到核心问题:导入seaborn、sklearn时依赖的scipy包,优先加载了用户目录下~\AppData\Roaming\Python\Python38\site-packages\路径的版本,该版本是你之前通过PyCharm独立Python环境安装的用户级包,和Anaconda的64位运行环境架构不兼容,因此触发[WinError 193] %1 is not a valid Win32 application报错。你重装Anaconda没有解决问题,是因为用户目录下的冗余包不会随Anaconda卸载被删除。
解决步骤
- 删除用户级冗余Python包
打开Windows资源管理器,在地址栏输入%APPDATA%\Python回车,删除路径下的Python38文件夹,该文件夹存储的是全局用户级第三方包,不属于Anaconda环境,删除不会影响Anaconda原有配置。 - 验证包搜索路径优先级
打开Anaconda Prompt,执行以下命令确认环境的包搜索顺序:
输出结果中Anaconda安装路径下的python -c "import sys;print('\n'.join([p for p in sys.path if 'site-packages' in p]))"anaconda3\lib\site-packages需要排在最前,且无AppData\Roaming\Python相关路径即可。 - 重装Anaconda环境下的目标依赖
在Anaconda Prompt中执行以下命令,重新安装scipy及相关依赖,不要使用PyCharm的包管理工具操作Anaconda环境:conda install scipy seaborn scikit-learn -y - 验证修复结果
启动Jupyter Notebook,分别执行import seaborn、import sklearn,无报错即为修复完成。
后续注意事项
- 给Anaconda环境安装依赖优先使用
conda install命令,或在Anaconda Navigator的包管理界面操作,避免跨环境安装导致冲突。 - 若需要在PyCharm中使用Anaconda环境,需在「设置>文件解释器」中选择Anaconda安装目录下的
python.exe作为解释器,不要和独立Python版本混用。
内容的提问来源于stack exchange,提问作者shishak
相关产品推荐
相关产品推荐

