我正在使用Java Scripting API从我的Java应用程序执行一些外部Python脚本。 python脚本使用sqlite3模块。执行应用程序导致错误
ImportError: No module named sqlite3
当我查看Jython的Lib
目录(在类路径中)时,没有sqlite3模块。因此,我的搜索开始了,我发现了一个_sqlite3.py
文件,它是javasqlite
(http://bugs.jython.org/issue1682864)的实现。它的使用产生了更类似的错误。
然后我从python的标准库位置搜索了原始python的sqlite3
包(原始目录),并将其放在Jython的Lib
文件夹中。然后它找不到导入的_sqlite
模块,它是_sqlite.so
库(实际的C实现)。
所以,现在我需要帮助。
答案 0 :(得分:4)
我不相信在Jython中有任何使用CPython扩展的方法,所以你在那里运气不好。
这里有一个SQLite的Java包装器:http://www.zentus.com/sqlitejdbc/ 这不会像Python数据库驱动程序那样工作,因此使用它需要一些调整。
不好玩,但也许你(或其他人)可以在它周围编写一些Jython来为sqlite3
模块生成一个替代品。