导入错误:没有名为“pysqlite2”的模块

问题描述 投票:0回答:6

我用Python编写了一个在Windows上完成的程序。并且在windows测试环境下运行良好。现在我正在设置一个Linux服务器来内部托管该程序。我已经从生成的需求文件中安装了所有依赖项等,但是当我运行它时,我遇到了问题,

ImportError: No Module Named 'pysqlite2'.

我已经在谷歌上广泛搜索了这个问题,但没有找到解决方案。谁能告诉我如何通过下面的代码解决这个问题?由于声誉不够高,我无法上传图片。任何帮助将不胜感激。如果需要任何其他信息,请评论,我会上传。

File "/home/ryan/python_p/venv/lib/python3.4/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 334, in dbapi
    from pysqlite2 import dbapi2 as sqlite
ImportError: No Module named 'pysqlite2'

据我了解,sqlite 要么不兼容,要么存在兼容性问题?

我认为直接相关的另一个问题是在虚拟环境中,我尝试 pip3.4 install pysqlite 我得到

SyntaxError: Missing Parenthesis in call to 'Print

它建议安装Sphinx,我做了但没有解决。

我认为这两个问题是直接相关的,通过治愈一个问题应该能够治愈另一个问题。

python linux sqlite debian
6个回答
5
投票

您可以进行以下更改以使您的 jupyter 笔记本正常工作

替换文件“C:\Windows\System32\sqlite3.dll” 通过“C:\Users\用户名 naconda3\Library in\sqlite3.dll”

这将使 jupyter 笔记本工作


3
投票

您可能只使用

sqlite3
,它现在是标准库的一部分,并且应该与 pysqlite2 完全相同。您可以尝试修改以下提到的文件:

from pysqlite2 import dbapi2 as sqlite

from sqlite3 import dbapi2 as sqlite

0
投票

尝试

pip search sqlite
,你可能会发现很多候选人。选择这样的一个:

 pip install pysqlite

0
投票

对于 CentOS 6 和 Python 2.6 的用户:

直接执行

pip install pysqlite
会导致gcc错误,在安装pysqlite之前你必须先执行
yum install sqlite-devel

之后,如果您使用的 Python 版本与 CentOS 6 附带的 Python 2.6 不同,则

ImportError
可能仍然存在。我收到的错误消息如下:

ImportError: /usr/local/lib/python2.7/site-packages/pysqlite2/_sqlite.so: undefined symbol: sqlite3_stmt_readonly

这是一个链接问题,将下面的编译的库文件从旧的 Py2.6 目录复制到 Py2.7 解决了我的问题,受到 this Github 讨论的启发。

cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/sqlite3/
cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/

0
投票

我在设置时遇到了多个Python依赖包的问题,特别是在Ubuntu中的Python虚拟环境中安装jupyter笔记本时。这是因为sqlite绑定了我们的python

我遇到错误

    from pysqlite2 import dbapi2 as sqlite3
ModuleNotFoundError: No module named 'pysqlite2'

我通过 --enable-loadable-sqlite-extensions=yes 解决了它 1.) 首先找到您用于创建虚拟环境的 python 或 python 版本。我用过python3.8 例如

$ whereis python
python: /usr/bin/python3.6m /usr/bin/python /usr/bin/python3.8 /usr/bin/python2.7-config /usr/bin/python3.8-config  python

$ cd /usr/bin

$ls
python3.8
python3.8-config

注意: pytho 会有很多包检查。你会找到每个Python版本的配置文件,现在使用特定的Python版本

ox:/usr/bin$ ./python3.8-config --enable-loadable-sqlite-extensions=yes

ox:/usr/bin$ ./python3.8-config --enable-optimizations --enable-loadable-sqlite-extensions

现在,使用该 python 版本创建虚拟环境 例如 转到您要创建虚拟环境的文件夹

$ python3.8 -m venv mlwen_jup_env
$ source mlwen_jup_env/bin/activate

完成了,现在可以安装软件包了


0
投票

这为我解决了问题

pip install notebook
© www.soinside.com 2019 - 2024. All rights reserved.