用于Jython的sqlite3模块

时间:2010-10-06 17:21:40

标签: java python sqlite jython javax.script

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

ImportError: No module named sqlite3

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

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

所以,现在我需要帮助。

1 个答案:

答案 0 :(得分:4)

我不相信在Jython中有任何使用CPython扩展的方法,所以你在那里运气不好。

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

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