Conda环境安装Spyder后无法启动的问题排查及解决请求
解决Conda环境中启动Spyder时的
libsoftokn3.so缺失错误 问题场景
通过conda install spyder在Conda环境Image_classification中安装Spyder后,执行spyder命令启动时触发如下报错:
Traceback (most recent call last): File "/home/ebj/anaconda3/envs/Image_classification/bin/spyder", line 11, in <module> sys.exit(main()) ^^^^^^ File "/home/ebj/anaconda3/envs/Image_classification/lib/python3.11/site-packages/spyder/app/start.py", line 252, in main from spyder.app import mainwindow File "/home/ebj/anaconda3/envs/Image_classification/lib/python3.11/site-packages/spyder/app/mainwindow.py", line 57, in <module> from qtpy import QtWebEngineWidgets # analysis:ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ebj/anaconda3/envs/Image_classification/lib/python3.11/site-packages/qtpy/QtWebEngineWidgets.py", line 29, in <module> from PyQt5.QtWebEngineWidgets import QWebEnginePage ImportError: libsoftokn3.so: cannot open shared object file: No such file or directory
常规方式安装的Spyder可正常运行,仅Conda环境下出现该问题。
解决方案
方案1:安装系统级依赖库
libsoftokn3.so属于Network Security Services(NSS)库,直接在系统层面安装即可解决:
- Debian/Ubuntu系列:
sudo apt update && sudo apt install libnss3 - RHEL/CentOS/Fedora系列:
sudo dnf install nss
方案2:在Conda环境内安装nss包
如果不想依赖系统库,可直接在目标Conda环境中安装nss:
conda activate Image_classification conda install -c conda-forge nss
方案3:临时指定库路径(应急用)
如果前两种方案无法生效,可手动指定库路径启动Spyder:
- 先查找系统中
libsoftokn3.so的位置:find /usr -name libsoftokn3.so - 假设找到路径为
/usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so,启动时指定环境变量:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/nss:$LD_LIBRARY_PATH spyder
原因说明
Conda环境默认会隔离系统级库,而Spyder依赖的PyQt5需要调用NSS库的文件。常规pip安装的Spyder会直接使用系统已有的依赖,因此不会出现该问题;Conda环境则需要手动补充这个依赖才能正常启动。
内容的提问来源于stack exchange,提问作者dead day
相关产品推荐
相关产品推荐

