6

我正在使用 Java Scripting API 从我的 Java 应用程序中执行一些外部 Python 脚本。python 脚本使用 sqlite3 模块。执行应用程序导致错误

ImportError: No module named sqlite3

当我查看LibJython 的目录(位于类路径中)时,没有 sqlite3 模块。因此,我的搜索开始了,我找到了一个_sqlite3.py文件,它是javasqlite( http://bugs.jython.org/issue1682864 ) 的实现。它的使用产生了更多类似的错误。

然后我sqlite3从python的标准库位置搜索了原始python的包(原始目录)并将其放在Jython的Lib文件夹中。然后它找不到作为库的导入_sqlite模块_sqlite.so(实际的 C 实现)。

所以,现在我需要帮助。

4

1 回答 1

4

我不相信有任何方法可以在 Jython 中使用 CPython 扩展,所以你不走运。

这里有一个 SQLite 的 Java 包装器:http ://www.zentus.com/sqlitejdbc/ 这不会像 Python 数据库驱动程序那样工作,所以使用它需要一些调整。

不好玩,但也许您(或其他人)可以围绕它编写一些 Jython 来为该sqlite3模块生成一个替代品。

于 2010-10-06T17:37:15.590 回答