没有使用来自 streamlabs 聊天机器人的 python 2.7.13 的名为 _sqlite3 的模块

问题描述

问题

我正在尝试将 sqlite 模块添加到我的 python 脚本中,该脚本在 streamlabs 聊天机器人应用程序中使用 2.7.13。

当我从 2.7.13 idle 运行我的脚本时,它没有问题。但是,当我从 streamlabs 聊天机器人运行它时,它给出了错误 no module named _sqlite3

streamlabs 聊天机器人允许您选择我的 lib 所在的目录。我检查了 lib 文件夹,里面已经有一个 sqlite 文件夹。 https://streamlabs.com/content-hub/post/chatbot-scripts-desktop

我假设该模块需要放置在其他脚本所在的位置,即 C:\users\user folder\app data\roaming\streamlabs chatbot\services\scripts。例如,此处在 git hub 上制作的样板示例:https://github.com/AnkhHeart/Streamlabs-Chatbot-Python-Boilerplate/tree/master/Boilerplate 在特定脚本文件夹中显示一个 lib 文件夹,他可以在其中导入他的自定义模块。是否必须做同样的事情才能使 sqlite 在 streamlabs 聊天机器人中工作?

代码如下:

import sys
import os
import time
import sqlite

ScriptName = "VLC Search and play"
Website = "twitch.tv/masterJx9"
Description = "VLC search and play app"
Creator = "masterJx9"
Version = "1.0.0"

settings = {}
searchRequest = ""
resetTime = 0

#more stuff

这是在空闲 python 中的结果:

>>>
#which is perfect

这是在 streamlabs 聊天机器人中的结果:

no module named _sqlite3

任何想法或建议都会很棒。谢谢

解决方法

多亏了 Streamlabs 聊天机器人不和谐频道,我才能找到自己的答案。

Streamlabs 使用 ironpython 而不是 python,它们处理不同的事情。他们能够给我一个使用 sqlite db 的脚本示例,主要区别在于您需要以下内容才能导入 sqlite3

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

#Now you can import SQLite as shown in the line below

import sqlite3
#no errors in the chat bot

希望这对其他人有帮助。