报错:
ImportError: /home/bai/anaconda3/lib/python3.12/lib-dynload/_sqlite3.cpython-312-x86_64-linux-gnu.so: undefined symbol: sqlite3_deserialize

问题:
在能够正常运行代码时,尝试了更新torch,结果出现这样的报错:
ImportError: /home/bai/anaconda3/lib/python3.12/lib-dynload/_sqlite3.cpython-312-x86_64-linux-gnu.so: undefined symbol: sqlite3_deserialize

想要使用conda更新sqlite包,报错:
Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: failed

RemoveError: ‘setuptools’ is a dependency of conda and cannot be removed from conda’s operating environment.

更新失败。尝试unintall,install sqlite包,报同样的错。

解决方案:
1.根据以下两个连接,自查动态链接是否出错
https://github.com/proxystore/taps/issues/151

https://askubuntu.com/questions/1475336/apt-get-not-working-correctly-because-of-python3-on-lunar/1475359#1475359

2.在尝试了以上方法后,仍未解决。以下是我的解决过程:
1)查看conda版本
conda search conda

更新conda到最新版本。此时最好指定版本,现在的指令添加了强制执行参数–force-reinstall ,-y表示不问是否同意直接安装。
conda install conda==25.5.1 --force-reinstall -y

2)更新conda后,不会出现’setuptools’的error了,现在重新安装sqlite
卸载原来的sqlite
conda uninstall sqlite

查看最新版本
conda search sqlite
安装最新版本,此时指定下载版本
conda install sqlite==3.50.2

检查是否成功
python3 -c “import sqlite3”
指令输入后没有结果,表示已经成功下载了。否则,会报错:ImportError: /home/bai/anaconda3/lib/python3.12/lib-dynload/_sqlite3.cpython-312-x86_64-linux-gnu.so: undefined symbol: sqlite3_deserialize

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐