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 ‘Multiscaledeformableattention‘

     在实现DINO Detection方法时,我们可能会遇到以上问题。因为在DeformableAttention模块,为了加速,需要自己去编译这个模块。 如果你的环境变量中能够找到cuda路径,使用正确的torch版本和cuda版本的话,这个问题很容易解决。(ps:一般情况下,cuda会安装在/usr/local文件夹下,但是

    2024年02月12日
    浏览(36)
  • 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日
    浏览(33)
  • 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日
    浏览(32)
  • ModuleNotFoundError: No module named ‘selenium

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

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

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

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

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

    2024年02月12日
    浏览(26)
  • 【报错】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日
    浏览(32)
  • ModuleNotFoundError: No module named ‘_ssl‘

    首先强调python版本与openssl版本关系一定要对应上,不然啥错误都能出 这个错误提示表明在您的 Python 环境中缺少  _ssl  模块,这可能是由于缺少 OpenSSL 库或者 Python 编译时未正确链接 OpenSSL 库导致的。 为了解决这个问题,您可以尝试以下几个步骤: 安装 OpenSSL: 首先,请确

    2024年02月08日
    浏览(51)
  • ModuleNotFoundError: No module named ‘_lzma‘

    系统:centos7 python:3.6.4 部署完python后将我们在windows环境中的scrapy文件传入我们的centos中后进行运行报错: 错误如下: 1、问题可能是没有下载lzma库,导致的 2、还有可能是导入错误原因导致的 这个时候我们仔细观察报错,/usr/local/lib/python3.6/lzma.py,我们找到这个文件,然后

    2024年02月15日
    浏览(33)
  • 提示ModuleNotFoundError: No module named ‘flask‘

    如果你运行 Python 代码时出现了 ModuleNotFoundError: No module named \\\'flask\\\' 的错误提示,这意味着 Python 解释器无法找到 Flask 模块。通常,这个错误是由以下几个原因造成的: 你可以使用 pip 命令来安装 Flask,如下所示: 确保你已经安装了 pip 工具,如果没有,可以先安装 pip。 如果

    2024年02月02日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包