c# 如何调用Python库
Python代码单独运行是可以的,由于需要需要用c#来调用python,但是python代码中用到的库无法加载,我是如下程序来调python库的,但是不成功,求教一下如何...
Python代码单独运行是可以的,由于需要需要用c#来调用python,但是python代码中用到的库无法加载,我是如下程序来调python库的,但是不成功,求教一下如何用?
ScriptEngine engine = Python.CreateEngine();
engine.SetSearchPaths(new[] { "C:\\Python27\\Lib","C:\\Python27\\Lib\\site-packages" });
ScriptScope scope = engine.ExecuteFile("start.py"); 展开
ScriptEngine engine = Python.CreateEngine();
engine.SetSearchPaths(new[] { "C:\\Python27\\Lib","C:\\Python27\\Lib\\site-packages" });
ScriptScope scope = engine.ExecuteFile("start.py"); 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
这个是不是调用啊。这个仅仅是执行。如果是说调 用的话。python for .net和iron python都支持.net调 用python的模块。
不过仅仅是执行的话也容易。假设你的start.py是一个可以执行的程序。是执行不是调用。不是import。
那么你不需要set search paths,因为这个path是给import,也就是调用使用的。你set path没有用。
你只需要全路径带过去,把start.py的全路径补全了就可以了。
要实现调用,还需要将python的模块编译成c#可以使用的库的形式。才可以直接用c#的方法import进来。很简单的。而不需要使用python这个engine。
理论上讲,如果.net支持动态加载。也可以使用动态加载的方法,使用python这个engine动态加载一个模块。不过我不知道python for .net和iron python有没有实现。这个太麻烦了。应该没有完成。
所以你还是将python的代码使用python for .net或者是iron python编译生成可以发布的库。后面就简单的了。直接在.net里import就好了。
不过仅仅是执行的话也容易。假设你的start.py是一个可以执行的程序。是执行不是调用。不是import。
那么你不需要set search paths,因为这个path是给import,也就是调用使用的。你set path没有用。
你只需要全路径带过去,把start.py的全路径补全了就可以了。
要实现调用,还需要将python的模块编译成c#可以使用的库的形式。才可以直接用c#的方法import进来。很简单的。而不需要使用python这个engine。
理论上讲,如果.net支持动态加载。也可以使用动态加载的方法,使用python这个engine动态加载一个模块。不过我不知道python for .net和iron python有没有实现。这个太麻烦了。应该没有完成。
所以你还是将python的代码使用python for .net或者是iron python编译生成可以发布的库。后面就简单的了。直接在.net里import就好了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询