Ubuntu20.04 中的 sqlite3_error

Ubuntu20.04 中的 sqlite3_error

我在使用 Ubuntu 20.04 LTS 时遇到了一个奇怪的问题。当我在命令行中输入任何无意义的单词(例如字母)时A,它会返回与 python3.8 相关的内容,并显示“ImportError: /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so: 未定义符号:sqlite3_errstr”。请看下文,

huan@grape:~$ A
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 28, in <module>
    from CommandNotFound import CommandNotFound
  File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
    from CommandNotFound.db.db import SqliteDatabase
  File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 3, in <module>
    import sqlite3
  File "/usr/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: /usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so: undefined symbol: sqlite3_errstr

我在网上搜索过,但找不到解决方案。 https://stackoverflow.com/questions/64428140/native-python3-fails-to-import-sqlite3-on-ubuntu-focal

我还检查了 的位置_sqlite3.cpython-38-x86_64-linux-gnu.so

huan@grape:~$ cd /
huan@grape:/$ sudo find -name _sqlite3.cpython-38-x86_64-linux-gnu.so
[sudo] password for huan: 
find: ‘./run/user/1000/doc’: Permission denied
find: ‘./run/user/1000/gvfs’: Permission denied
find: ‘./proc/2196/task/2196/net’: Invalid argument
find: ‘./proc/2196/net’: Invalid argument
./snap/core20/1376/usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so
./snap/core20/1361/usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so
./usr/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so
huan@grape:/$

它可以在/usr/lib/python3.8/lib-dynload目录以及/snap/core20/1376/usr/lib/python3.8/lib-dynload/目录中找到/snap/core20/1361/usr/lib/python3.8/lib-dynload/

我的问题是,为什么无意义的命令“A”会与 Python3.8 的 sqlite3 模块相关?我甚至没有对 SQL 进行任何操作。我该如何解决这些烦人的返回值?

任何建议都将不胜感激。—— Huan

答案1

我有同样的问题,但我不认为这与 Ubuntu 20.04 有关,因为我正在使用 Ubuntu 18.04。

就我而言(我在 conda 环境中工作),只需重新安装 sqlite 即可解决问题。

conda install sqlite --force-reinstall

希望能帮助到你

相关内容