C#使用CLE调用Python
项目相关
工作需要使用C#调用python的AI识别,python版本为3.7,IronPython只支持python2.7,所以不考虑,考虑在内的方案还有 PythonNet与 CLE
由于PythonNet总是报Python的dll文件签名不一致,无法调用,找不到解决办法,所以选择了CLE。
入门
CLE版本为 CLE for Windows 3.0.0 64 bit版本。
Python版本为 Anaconda Python 3.7.1 64 bit
CLE安装完成后 其文件目录在
C:\srplab
CLE的详细文档在
C:\Program Files\srplab\starcore\docs
运行官方Demo
官方给出了一个C#调用Python的Demo
安装CLE后Demo所在的路径:C:\srplab\examples\rawobject\cs_callscripts\call_python
在Visual Studio 2017中打开此项目,在项目属性中,将目标框架选择为 .NET Framework 4.5.2,
并为项目添加引用
C:\srplab\libs64\star_csharp452.dll
后缀的数字为对应的 .NET Framework 版本
初始化服务与退出服务
官方给出了3种C#初始化的方式===>CLE初始化的方式
Demo里使用的是第二种
static void Main(string[] args){
StarCoreFactory starcore=StarCoreFactory.GetFactory();
StarServiceClass Service=starcore._InitSimple("test","123",0,0,null);
StarSrvGroupClass SrvGroup = (StarSrvGroupClass)Service._Get("_ServiceGroup");
......
SrvGroup._ClearService();
starcore._ModuleExit();
}
C#代码
这里是官方Demo的代码
static void Main(string[] args)
{
StarCoreFactory starcore = StarCoreFact