首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有名为“_sqlite3”Python3.7.5CentOS 7的模块

没有名为“_sqlite3”Python3.7.5CentOS 7的模块
EN

Stack Overflow用户
提问于 2020-01-06 17:01:09
回答 1查看 6.2K关注 0票数 1

我试图在Centos 7系统上使用Python3.7.5的sqlite3。

使用

代码语言:javascript
复制
python3.7 -c "import sqlite3;print(sqlite3.version)"

我得到了以下信息

代码语言:javascript
复制
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.7/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

因此,我尝试从源代码中重新安装Python:

代码语言:javascript
复制
yum install -y gcc make sqlite-devel zlib-devel libffi-devel openssl-devel wget 

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar xzf Python-3.7.5.tgz
cd Python-3.7.5
sudo ./configure --enable-optimizations --enable-loadable-sqlite-extensions
sudo make
sudo make altinstall  

但是,即使使用sqlite和.启用可加载sqlite扩展,我仍然有相同的问题。

NB1:

下表

代码语言:javascript
复制
ll /usr/local/lib/python3.7/lib-dynload/ | grep sqlite
-rwxr-xr-x. 1 root root  311272 Jan  6 11:49 _sqlite3.cpython-37m-x86_64-linux-gnu.so

代码语言:javascript
复制
ll /usr/local/lib/python3.7/sqlite3/
total 16
-rw-r--r--. 1 root root 2687 Jan  6 11:50 dbapi2.py
-rw-r--r--. 1 root root 2825 Jan  6 11:50 dump.py
-rw-r--r--. 1 root root 1018 Jan  6 11:50 __init__.py
drwxr-xr-x. 2 root root 4096 Jan  6 11:51 __pycache__
drwxr-xr-x. 3 root root  210 Jan  6 11:50 test

是存在的

NB2:在从零开始在Docker容器上试验相同的命令时,sqlite3工作得很好

代码语言:javascript
复制
FROM centos:7

RUN yum update -y && \
    yum install -y \
    gcc make sqlite-devel zlib-devel libffi-devel openssl-devel wget 

RUN wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz && \
    tar xzf Python-3.7.5.tgz && \
    cd Python-3.7.5 && \
    ./configure --enable-optimizations --enable-loadable-sqlite-extensions && \
    make altinstall && \
    cd .. && \
    rm -Rf Python-3.7.5 && \
    rm -f Python-3.7.5.tgz

我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-07 13:23:40

所以我终于找到了解决办法:

我从/usr/local/bin中删除所有python二进制文件和链接的文件/文件夹,我已经删除了/usr/local/lib/python3.7

我已经从源代码中重新安装了Python,现在SQLite工作起来很有魅力。

我想我肯定对以前的Python安装有异议。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59616118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档