python - 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'
非常感谢您的帮助
解决方案
您从错误的路径导入。
尝试这个:
from sqlite3 import dbapi2 as sqlite
推荐阅读
- c - 分段故障设置信号量功能
- php - 雄辩的多对多返回一个空值
- sql - 索引大表最适合性能 行或列索引
- oop - Tkinter 从 Mikhails 先生的 ScrolledWindow 的 Bryan Oakley 先生的孩子制作 PageOne
- thingsboard - MQTT - 如何更改 CE (SenML) 上 JSON 的默认解析器的行为?
- cytoscape.js - dagre网络 - 重复的边缘
- javascript - Vue.js 通过客户端渲染预取数据
- flutter - 如何在flutter中连接socketIO?
- python - 根据另一列的值创建新列
- python - 我无法在二十一点游戏中关闭我的 while 循环