问题描述
问题
我正在尝试将 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
希望这对其他人有帮助。