执行代码报错:“sqlite:No module named _sqlite3

  • 执行环境说明

  某台服务器上执行DrissionPage相关程序报错,本机没有问题。

  • 解决说明

  本机找到_sqlite3实际为python内建库,与math库在同一级,即为环境问题。重装python环境是不可选的,投机取巧一下。

  尝试在一台服务器上找一下_sqlite的so文件,执行以下命令:

sudo find / -name _sqlite*.so

# 大概会输出
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
/usr/lib64/python2.7/site-packages/_sqlitecache.so
/usr/lib64/python3.6/lib-dynload/_sqlite3.cpython-36m-x86_64-linux-gnu.so
/usr/local/python3/lib/python3.9/lib-dynload/_sqlite3.cpython-39-x86_64-linux-gnu.so

  同理,在有问题服务器查询_sqlite的so文件,这里查到python2的so文件,不可直接复制这个文件!

  先确认有问题那台服务器,python2版本_sqlite的so文件在什么路径,上对应python3该路径下看看确认要把so文件复制到这个路径下。

  执行下面同步文件命令:

rsync -av  -W --update --progress --partial /usr/local/python3/lib/python3.9/lib-dynload/_sqlite3.cpython-39-x86_64-linux-gnu.so your_username@your_host:/your_path

  当然,如果没有权限直至同步到目标路径下,可先同步到home或者temp目录下,再mv过去。

posted on 2025-05-29 16:58  落叶虽美只活一世  阅读(142)  评论(0)    收藏  举报
Live2D