将sqlite3与IronPython 2.6一起用于.Net4
我正在使用SharpDevelop 3.2.0,IronPython 2.6.1 for.Net4 要使用IronPython的此模块访问sqlite3功能,请执行以下操作: 我的程序是一个GUI应用程序,可以访问sqlite数据库。当从IronPython通过ipy.exe解释器启动程序时,一切(包括数据库访问)都非常完美 但是,如果我试图启动我用SharpDevelop编译的程序,使其成为可执行文件,我会得到一个异常: IronPython.Runtime.Exceptions.ImportException: 没有名为_sqlite3的模块 此异常的原因位于dbapi2.py中: 从_sqlite3导入* 在IronPython控制台上,我可以导入_sqlite3并按预期使用它 我已经给出了sqlite3模块的路径,但是IronPython或sqlite3模块文件夹中没有名为_sqlite3的文件 请告诉我,在构建我的程序的编译版本时,什么会导致此问题将sqlite3与IronPython 2.6一起用于.Net4,sqlite,ironpython,sharpdevelop,Sqlite,Ironpython,Sharpdevelop,我正在使用SharpDevelop 3.2.0,IronPython 2.6.1 for.Net4 要使用IronPython的此模块访问sqlite3功能,请执行以下操作: 我的程序是一个GUI应用程序,可以访问sqlite数据库。当从IronPython通过ipy.exe解释器启动程序时,一切(包括数据库访问)都非常完美 但是,如果我试图启动我用SharpDevelop编译的程序,使其成为可执行文件,我会得到一个异常: IronPython.Runtime.Exceptions.Impor
非常感谢。任何地方都没有
\u sqlite3
文件;IronPython.Sqlite.dll提供了一个名为\u sqlite3
的模块
如果您按照网站说明将IronPython.Sqlite.dll放在dll文件夹中,这可能就是它在SharpDevelop下无法工作的原因。运行ipy.exe时,它会隐式地添加对DLL文件夹中任何DLL的引用。当SharpDevelop构建可执行文件时,它是一个运行IronPython的小存根,但它不知道IronPython的任何已安装版本,因此不会从DLL文件夹加载任何内容
最好是修改主脚本以包括
import clr
clr.AddReference("IronPython.SQLite.dll")
然后确保IronPython.SQLite.dll与exe位于同一目录中。无论如何,这是我的首选选项,我应该在有机会时将其添加到说明中。我已经料到您会告诉我以某种方式引用DLL 在几次失败之后,我成功地编译了程序,但是包含DLL有点棘手
导入系统
进口新界
导入clr
sys.path.append(nt.getcwd())
clr.AddReferenceToFile('IronPython.SQLite.dll')
这是指向我的执行目录中的DLL所必需的
非常感谢你的帮助