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");
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
bdwisyou7d
2015-02-18 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1012万
展开全部
这个是不是调用啊。这个仅仅是执行。如果是说调 用的话。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就好了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ben
2015-02-17 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
尝试加载运行库也就是编译后并且是发布状态的试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式