ModuleNotFoundError: No module named ‘_sqlite3‘

这篇具有很好参考价值的文章主要介绍了ModuleNotFoundError: No module named ‘_sqlite3‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Raspberry Pi 3B+ 服务器debian 11系统,安装python3.11.5之后,执行sqlite3相关的单元测试时,报错如下:

Following modules built successfully but were removed because they could not be imported:
_sqlite3  
*** WARNING: renaming "_sqlite3" since importing it failed: /root/Python-3.11.5/build/lib.linux-armv7l-3.11/_sqlite3.cpython-311-arm-linux-gnueabihf.so: undefined symbol: sqlite3_deserialize

The necessary bits to build these optional modules were not found:
_lzma                                                          
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Following modules built successfully but were removed because they could not be imported:
_sqlite3                                                       


Following modules built successfully but were removed because they could not be imported:
_sqlite3                                                       

running build_scripts
creating build/scripts-3.11
copying and adjusting /root/Python-3.11.5/Tools/scripts/pydoc3 -> build/scripts-3.11
copying and adjusting /root/Python-3.11.5/Tools/scripts/idle3 -> build/scripts-3.11
copying and adjusting /root/Python-3.11.5/Tools/scripts/2to3 -> build/scripts-3.11
changing mode of build/scripts-3.11/pydoc3 from 644 to 755
changing mode of build/scripts-3.11/idle3 from 644 to 755
changing mode of build/scripts-3.11/2to3 from 644 to 755
renaming build/scripts-3.11/pydoc3 to build/scripts-3.11/pydoc3.11
renaming build/scripts-3.11/idle3 to build/scripts-3.11/idle3.11
renaming build/scripts-3.11/2to3 to build/scripts-3.11/2to3-3.11
root@raspberrypi:~/Python-3.11.5# 

原因

python3.11.5是通过源码手动安装的,而系统自带的是python3.10,所以sudo apt install python3-dev命令是默认把sqlite扩展安装到python3.10下的,于是就导致3.11版本的缺少对应的.so文件

Solution:

把3.10的_sqlite3.xxx.so文件复制到3.11的动态库里

具体命令如下:

1. 展示python3.10的sqlite3模块的so文件路径

python3.10 -c 'import _sqlite3 as m;print(m.__file__)'
我的输出为:

root@raspberrypi:~# python3.10 -c 'import _sqlite3 as m;print(m.__file__)'
/usr/local/lib/python3.10/lib-dynload/_sqlite3.cpython-310-arm-linux-gnueabihf.so

2. 找出python3.11的动态库路径

python3.11 -c 'import random as m;print(m.__file__)'
我的输出为:

/usr/local/lib/python3.11/random.py

3. 把python3.10的so文件复制到3.11的动态库里并修改版本号(把so文件名里的310改成311)

sudo cp /usr/local/lib/python3.10/lib-dynload/_sqlite3.cpython-310-arm-linux-gnueabihf.so /root/Python-3.11.5/build/lib.linux-armv7l-3.11/_sqlite3.cpython-311-arm-linux-gnueabihf.so


复制之后,验证效果:python3.11 -c 'import _sqlite3 as m;print(m.__file__)'
 文章来源地址https://www.toymoban.com/news/detail-732374.html

到了这里,关于ModuleNotFoundError: No module named ‘_sqlite3‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ModuleNotFoundError: No module named ‘sklearn‘

    2、ModuleNotFoundError: No module named ‘sklearn’ 安装这个包之前需要先安装sklearn的依赖库:Numpy、Scipy、matplotlib。 然后我使用 pip install sklearn 之后import 不成功,但是再次pip install sklearn的时候显示已经安装, pip list 查看已安装的包,也是有sklearn的。于是查看别人库的列表,发现

    2024年02月13日
    浏览(56)
  • ModuleNotFoundError: No module named ‘django‘

    问题描述: 在pycharm中启动Django项目时,显示ModuleNotFoundError: No module named \\\'django\\\' , 但是在setting中检查存在django     解决办法: (1)  首先检查Django和python版本是否匹配       (2)  由于我使用的是conda环境,因此需要激活,可通过Anaconda prompt进行激活,或者在pycharm中激活,参考

    2024年02月12日
    浏览(45)
  • ModuleNotFoundError: No module named ‘selenium

    下面是我学习时的错误,在此文章记录一下,方便日后查找,以下解决方案都来源于网络。 问题:当jupyter出现ModuleNotFoundError: No module named \\\'selenium问题时的解决方案:  解决方案: 1、在cmd运行pip install selenium 2、在实行解决方案一之后出现的问题:  以上说我已安装了seleni

    2024年01月25日
    浏览(44)
  • ModuleNotFoundError: No module named ‘mysql‘

    使用 sqlalchemy连接数据库 时提示: 解决方法CMD命令安装:

    2024年02月12日
    浏览(40)
  • ModuleNotFoundError: No module named ‘SwissArmyTransformer‘

    小问题,直接pip install 但是,安装之后却还是提示,屏幕上依然标红 ModuleNotFoundError: No module named \\\'SwissArmyTransformer\\\' 查找环境目录发现, 这是因为新版的SwissArmyTransformer中,目录改为了sat,在引用时候需要对应改为sat。

    2024年02月02日
    浏览(41)
  • ModuleNotFoundError: No module named ‘docx‘

    总结:关掉科学上网,在pycharm设置中装python-docx 报错: ModuleNotFoundError: No module named \\\'docx\\\' pip install docx 后报错 原因: 导错包了,不是docx而是python-docx 解决: 卸载安装错的 docx 安装正确的包 python-docx 仍然无法安装 pip换源 上面是在终端敲的命令,装过之后仍然显示No module 换

    2024年02月11日
    浏览(48)
  • 解决:ModuleNotFoundError: No module named ‘paddle‘

      错误显示: 原因:      环境中没有‘paddle’的python模块,但是您在尝试导入 解决方法: 1.普通方式安装: 2.镜像源安装  补充:常用的镜像源

    2024年03月09日
    浏览(55)
  • 解决ModuleNotFoundError: No module named ‘paddle‘

    安装百度的PaddlePaddle,遇到ModuleNotFoundError: No module named ‘paddle’ 错误,记录下解决过程。 安装完PaddlePaddle后,再Python解释器中运行如下语句 提示ModuleNotFoundError: No module named ‘paddle’ 网上说重新安装PaddlePaddle就可以了 CPU版 GPU版 可自己的重新安装后,还是出现原来的提示。

    2024年02月11日
    浏览(63)
  • 解决:ModuleNotFoundError: No module named ‘pymysql’

    在使用之前的代码时,报错: Traceback (most recent call last): File “xxx”, line xx, in import pymysql ModuleNotFoundError: No module named ‘pymysql’ 主要报错信息内容翻译如下所示: 翻译: 经过查阅资料,发现是这个错误通常是由于缺少pymysql的依赖库,就会出现这样的提示。 小伙伴们按下面

    2024年02月19日
    浏览(66)
  • 【报错】ModuleNotFoundError: No module named ‘websocket‘

    1 报错 ModuleNotFoundError: No module named \\\'websocket\\\' 2 解决方法 pip install websocket   1 报错 AttributeError: module \\\'websocket\\\' has no attribute \\\'enableTrace\\\' 2 分析 一般是由于websocket的依赖包没有安装造成的。websocket.enableTrace()方法是在websocket-client库中,所以安装该库即可解决问题。 3 解决方法 pip

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包