PythonNet,Csharp如何白嫖Python生态和使用Matplotlib

前言

我既然用Csharp去尝试学习机器视觉,我就想试试用Csharp去使用Python的库。

这个世界上有没有编程语言既有Python的开发效率,又有C/C++/

在这里插入图片描述

PythonNet

Pythonnet 官网

C# .Net通过pythonnet调用python pyd文件

环境配置

Python环境配置

调用Python,首先你的电脑得安装Python。我这里用的是Anaconda配置的Python环境

Python+OpenCV 零基础学习笔记(1-3):anaconda+vscode+jupyter环境配置

在这里插入图片描述

Csharp Nuget配置

我这里的.NET版本是

  • visual Studio 2022
  • .net core 8.0

Nuget安装
在这里插入图片描述

运行代码测试

我本地已经装好了Matplotlib了,我这里直接测试Matplotlib的代码调用

随便找一段代码

Matplotlib 教程

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.plot(xpoints, ypoints)
plt.show()

对应的Csharp代码

 static void Main(string[] args)
 {
     //选择你Python的dll位置
     Runtime.PythonDLL = @"D:\Anaconda3\python311.dll";
     //创建Python环境
     PythonEngine.Initialize();

     //展开Python的全局解释器
     using (Py.GIL())
     {
         dynamic plt = Py.Import("matplotlib.pyplot");
         dynamic np = Py.Import("numpy");

         dynamic xpoints = np.array(new int[] { 0, 6 });
         dynamic ypoints = np.array(new int[] { 0, 100 });
         plt.plot(xpoints, ypoints);
         plt.show();

         Console.WriteLine("运行完毕");
         Console.ReadLine();
     }
 }

在这里插入图片描述

运行结果

运行的速度还是很慢的,得等10秒钟左右。目前还没测试过断点,估计不太行。

在这里插入图片描述

总结

PythonNet给了Csharp一个白嫖Python生态的机会。虽然启动还是很慢的,但是起码代码能跑。而且是直接白嫖,这个就太牛逼了,相当于Python有什么库,我都可以通过这个方式直接白嫖库的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值