问题描述
我在vb.net中创建了一个示例控制台应用程序,我想在其中运行ironpython类中的某些方法。它就像一个咒语,其代码如下所示:
Imports IronPython.Hosting
Imports Microsoft.Scripting.Hosting
Imports Microsoft.Identity.Client
Module Module1
Sub Main()
Dim engine = Python.CreateEngine()
Dim source = engine.CreateScriptSourceFromFile("C:\xx\xx\xx\test.py")
Dim scope = engine.CreateScope()
Dim paths = engine.GetSearchPaths
paths.Add("C:\xx\xx\xx\libs") 'directory which contains the standard library
engine.SetSearchPaths(paths)
Dim op As ObjectOperations = engine.Operations
source.Execute(scope)
Console.WriteLine("please input method names")
Dim command As String = Console.ReadLine()
do while command <> "exit"
Dim clas As Object = scope.Getvariable("testClass") 'get the class object
Dim instance As Object = op.CreateInstance(clas) 'create the instance
Dim method As Object = op.GetMember(instance,command) 'Get a method eg. computePrice
Console.WriteLine(op.Invoke(method).ToString())
command = Console.ReadLine()
Loop
End Sub
End Module
现在,我尝试将相同的功能集成到另一个项目中。在此项目中运行完全相同的代码时,在行No module named nt
处出现错误Dim instance As Object = op.CreateInstance(clas)
。
我已经仔细检查了导入,它们都匹配(DynamicLanguageRuntime v1.2.3
,IronPython v2.7.10
)。
我在python类中唯一的导入是用于建立数据库连接的以下内容:
import pypyodbc as pyodbc
所以我真的不知所措,有人知道可能是什么问题吗?在第二个项目上,我还有更多进口商品,这可能是问题吗?还是有关项目设置的内容?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)