C#调用python脚本(二)python代码打包成库供C#调用
2022/8/3 14:24:07
本文主要是介绍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#调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统
- 2024-01-23C#对象二进制序列化优化:位域技术实现极限压缩