Net Core教程

C#调用python脚本(二)python代码打包成库供C#调用

本文主要是介绍C#调用python脚本(二)python代码打包成库供C#调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python:

新建一个py文件“__init__.py”,简单测试

def main():
    return 11111;

def test1(name):
    return name;

把它扔到一个文件夹 例如 “mytest1”下,在mytest1外新建py文件“setup.py” ,内容:

from setuptools import find_packages,setup
setup(
    name = 'mytest1',
    version = '0.1',
    packages = find_packages(),
)

在setup.py路径内进入cmd, 运行 python setup.py install。 不报错的话直接就打包好了,可以在C#下import 《mytest1》,然后调用main或者test1方法。

以上只是我的简单测试方式,关于打包方式还有很多方式,比如先打包 python setup.py sdist  然后再安装 pip install xxx……。

 

C#:

根据本机的python版本选择引用的依赖包:pythonnet_netstaandard_py39_win(提示不支持net6就换个版本,vs的bug)

引用python的代码:

using (Py.GIL())
{
    dynamic np = Py.Import("numpy");
    Console.WriteLine(np.cos(np.pi * 2));

    dynamic ooo = Py.Import("mytest1");
    dynamic s = "123";
    dynamic str = ooo.main();
    Console.WriteLine(str);
    str = ooo.test1(s);
    Console.WriteLine(str);
}

 

这篇关于C#调用python脚本(二)python代码打包成库供C#调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!