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);
}

 

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/278442.html

(0)
上一篇 2022年8月2日
下一篇 2022年8月2日

相关推荐

发表回复

登录后才能评论