【问题标题】:sqlite3 module for Jython用于 Jython 的 sqlite3 模块
【发布时间】:2011-04-21 23:19:49
【问题描述】:

我正在使用 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 实现)。

所以,现在我需要帮助。

【问题讨论】:

    标签: java python sqlite jython javax.script


    【解决方案1】:

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

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

    不好玩,但也许您(或其他人)可以围绕它编写一些 Jython 来生成 sqlite3 模块的直接替换。

    【讨论】:

    • 是的,你是对的。所以我抛弃了 Jython 并使用 ProcessBuilder 类执行 Python 脚本。像魅力一样工作。还是谢谢。
    猜你喜欢
    • 2011-04-24
    • 2012-04-10
    • 2022-12-13
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多