加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用sqlite3和IronPython 2.6 for .Net4

发布时间:2020-12-12 18:57:45 所属栏目:百科 来源:网络整理
导读:我正在使用SharpDevelop 3.2.0,Iron Python 2.6.1 for .Net4. 要使用此模块访问IronPython,请访问sqlite3功能: IronPython.SQLite 我的程序是一个GUI应用程序并访问sqlite数据库.当从IronPython通过ipy.exe解释器启动程序时(包括数据库访问)工作得非常完美.
我正在使用SharpDevelop 3.2.0,Iron Python 2.6.1 for .Net4.

要使用此模块访问IronPython,请访问sqlite3功能:
IronPython.SQLite

我的程序是一个GUI应用程序并访问sqlite数据库.当从IronPython通过ipy.exe解释器启动程序时(包括数据库访问)工作得非常完美.

但是,如果我尝试启动我使用SharpDevelop编译为可执行文件的程序,我会得到异常:

IronPython.Runtime.Exceptions.ImportException:
No module named _sqlite3

此异常的原因位于dbapi2.py中:

from _sqlite3 import *

在IronPython控制台上,我可以导入_sqlite3并按预期使用它.

我已经向SharpDevelop提供了sqlite3模块的路径,但是在IronPython或sqlite3-module文件夹中没有任何名为_sqlite3的文件.

请告诉我在构建我的程序的编译版本时会出现什么问题.

非常感谢你.

解决方法

任何地方都没有_sqlite3文件; IronPython.Sqlite.dll提供了一个名为_sqlite3的模块.

如果您按照网站说明并将IronPython.Sqlite.dll放在DLLs文件夹中,这可能是它在SharpDevelop下不起作用的原因.运行ipy.exe时,它会隐式添加对DLLs文件夹中任何DLL的引用.当SharpDevelop构建一个可执行文件时,它是一个运行IronPython的小存根,但它不知道任何已安装的IronPython版本,因此不会从DLLs文件夹加载任何东西.

您最好修改主脚本以包含

import clr
clr.AddReference("IronPython.SQLite.dll")

然后确保IronPython.SQLite.dll与exe位于同一目录中.无论如何,这是我的首选选项,我应该在有机会时将其添加到说明中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读