首页 > 解决方案 > sqlite3 不工作;无根; UNIX; Python3.8.11

问题描述

我在 Ubuntu 18.04.5 LTS 系统上安装了没有 root 访问权限的 Python3.8.11:

wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz
tar-xvzf Python-3.8.11.tgz
cd Python-3.8.11/
./configure --prefix=${PYTHON_INSTALL_DIR} --enable-loadable-sqlite-extensions && make && make install

Sqlite 3 失败并出现以下错误:

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "${PYTHON_INSTALL_DIR}/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "${PYTHON_INSTALL_DIR}/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'


>>> from pysqlite2 import dbapi2 as sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pysqlite2'

我已经看到类似的问题建议sudo apt install sqlite-devel和其他软件包,但由于我没有(也不会有)root 访问权限,所以它根本不是我的选择。我尝试将 sqlite3 安装到自定义位置:

wget https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar -xvzf sqlite-autoconf-3360000.tar.gz
cd sqlite-autoconf-3360000
./configure && make
SQLITE_INSTALL_DIR=$(pwd)

通过 ~/.bashrc 将它添加到我的路径

PATH="${PATH}:${SQLITE_INSTALL_DIR}" ; export PATH

重新安装python:./configure --prefix=$INSTALL_DIR --enable-loadable-sqlite-extensions && make && make install 但我仍然得到与sqlite3完全相同的错误

我能做些什么?

我需要让 sqlite3 工作,这样我才能jupyter lab在我的 bash shell 中运行,这目前归结为以下两个错误:

ModuleNotFoundError: No module named 'pysqlite2'
ModuleNotFoundError: No module named '_sqlite3'

非常感谢您的帮助

标签: pythonpython-3.xsqliteunixjupyter

解决方案


您从错误的路径导入。

尝试这个:

from sqlite3 import dbapi2 as sqlite

推荐阅读