|
我在使用火山调用python代码文件,遇到一个问题:“模块加载失败,请检查所配置的库路径中是否包含此文件.失败原因:No module named '_socket'”
大概报错意思是我的引入的库文件失败,
我的代码是2个文件:
1.wordpress_xmlrpc 这是一个第三方库的文件夹,python代码里需要import它
2.wp2.py的python代码文件
=====================
现在我在窗口初始化的时候,先让火山设置python开发环境:
<火山程序 类型 = "通常" 版本 = 1 />
方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
变量 库文件路径 <类型 = 文本型>
变量 库路径文本 <类型 = 文本型>
变量 模块名 <类型 = 文本型 值 = "wordpress_xmlrpc">
变量 ""
库路径文本 = ""
// 这里, 要根据X64/X86, 来使用不同的Dlls
如果 (为64位程序 ())
{
加入格式文本 (库路径文本, "%s\\Python3_9.zip;%s\\x64\\DLLs;%s", 取运行目录 (), 取运行目录 (), 取运行目录 ())
}
否则
{
加入格式文本 (库路径文本, "%s\\Python3_9.zip;%s\\x86\\DLLs;%s", 取运行目录 (), 取运行目录 (), 取运行目录 ())
}
火山Python.置库路径 (库路径文本)
调试输出 ("库路径文本为====" + 库路径文本)
如果 (火山Python.初始化 () == 假)
{
信息框 ("Python脚本引擎初始化失败,请检查环境配置")
}
返回 (0)
}
以上是根据案例看来的,先初始化python环境
然后我需要把 【wordpress_xmlrpc】这个文件夹放入到DLLs里,同时把我要执行的python文件【wp2.py】也放到运行环境下 (取运行目录()这个目录下)
,此时在该目录下有了wp2.py文件 ,和DLLs文件夹,为保险起见,我在DLLs里和该目录下都放了 【wordpress_xmlrpc】;
最后点击按钮事件,执行如下代码:
<火山程序 类型 = "通常" 版本 = 1 />
否则 (来源对象 == 按钮_调用python)
{
变量 模块对象 <类型 = Py模块类>
变量 代码文件名 <类型 = 文本型 值 = "wp2">
如果 (火山Python.是否已初始化 () == 真)
{
模块对象 = 火山Python.加载Py文件 (代码文件名)
如果 (模块对象.是否有效 == 假 || 模块对象.检查类型 () == 假)
{
编辑框_python返回.加入文本行 ("模块加载失败,请检查所配置的库路径中是否包含此文件.")
编辑框_python返回.加入文本行 ("失败原因:" + 火山Python.取异常文本 ())
}
}
}
如果初始化成功,则 :模块对象 = 火山Python.加载Py文件 ("wp2")
最后,执行结果报错:就是最开始上面写的一堆了,后面还有很长,大概意思就是加载模块失败,等等文件缺失了
PS:我用了好几年PY了,我的代码和模块在win环境下(vscode里)跑是通的,到火山是第一次用,不知道我是哪里设置错了,请大神指教,谢谢!
|
|