我有一个用C#编写的控制台应用程序。我使用了python钢铁包来运行python脚本。我能够很容易地运行它。当我在脚本中添加像行一样的导入熊猫时,我无法运行它。我搜索发现这是因为无法在Iron python的帮助下运行python的依赖项。
是否可以从C#运行python脚本,该脚本具有像import pandas这样的行?
通过另一种方式尝试指向:
1
我创建了一个虚拟环境,该虚拟环境添加到我的调试文件夹中,并使用ProcessStartInfo
从我的C#代码中指向,相同的结果能够运行基本的python代码,但无法运行具有更复杂代码的pythin脚本。 >
我的控制台应用程序代码
var sc = Directory.GetCurrentDirectory() + "/test.py";
scriptengine engine = python.createengine();
scriptsource source = engine.createscriptsourcefromfile(sc);
scriptscope scope = engine.createscope();
source.execute(scope);
object myclass = engine.operations.invoke(scope.getvariable("tester"));
var data = new[] { "1", "b", "c" };
object[] parameters = new object[] { "hi", data };
engine.operations.invokemember(myclass, "test1", parameters);
Python代码
import pandas as pd
class tester:
def test1(self,data,tets):
print(data,tets)
print("no worries");
return "aaa"
我的问题:如何从C#运行具有上面所示代码的python脚本?是否可以从C#运行熊猫?如果没有,那还有什么选择?