anaconda不要自动配环境变量
配
E:\Anaconda
Scripts
Library\bin
Library\usr\bin
Library\mingw-w64\bin
conda info 检测安装情况
nuget pythonet
conda create -n pythonclass python=3.8 numpy
环境配置
创建名称为pythonclass的numpy环境
activate pythonclass
激活环境
conda info -- envs
显示环境路径
textedit单行
memoedit多行
,在load事件正式调用环境
使用方法
string PythonEnv=@""
string PythonSelfScript=Appdomain.CurrentDomain.BaseDictionary+"Pythons"
(项目路径+文件夹
Runtime.PythonDLL=(dll文件python38的路径)
PythonEngine.PythonHome=环境路径
PythonEngine.PythonPath=
Path \\Lib \\site-packages ;Path \\Lib;+
Path \\DLLs ;self
边包 库 DLLs Python存放文件夹
PythonEngine.Initialize()
创建文件夹Pythons
创建一个类 重命名把后缀改成py即可
using(Py.GIL())
{
dynamic py=Py.import("文件名")
dynamic.result=py.saihello()调函数
}
坑1:
anycpu要改x64
坑2:

文件属性一定要改成始终复制
private void PythonTest_Load(object sender, EventArgs e)
{
//string PythonPath = @"C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest";
//string SelfPath=AppDomain.CurrentDomain.BaseDirectory+"Pythons";
Runtime.PythonDLL = @"C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest\python38.dll";;
PythonEngine.PythonHome = @"C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest";
PythonEngine.PythonPath = @"C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest\\Lib\\site-packages;C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest\\Lib;C:\Users\28798\AppData\Local\conda\conda\envs\EnvTest\\DLLs;"+$"{AppDomain.CurrentDomain.BaseDirectory}Pythons";
PythonEngine.Initialize();
}
path就是 Lib site-packages + Lib + Pythons目录
俩Lib
Anaconda第一个包没有matplotlib
conda activate your_env_name # 激活你的环境
conda list matplotlib # 检查是否已安装
conda install matplotlib # 通过conda安装(推荐)
# 或
pip install matplotlib
import matplotlib.pyplot as plt
import os
def generate_plot(save_dir):
# 创建简单图形
plt.figure()
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro-') # 红色圆点实线
plt.title("a")
plt.xlabel("X")
plt.ylabel("Y")
# 确保目录存在
os.makedirs(save_dir, exist_ok=True)
# 保存路径
save_path = os.path.join(save_dir, "simple_plot.png")
plt.savefig(save_path)
plt.close() # 关闭图形释放内存
return save_path # 返回保存路径
private void simpleButton2_Click(object sender, EventArgs e)
{
using (Py.GIL())
{
dynamic py = Py.Import("Test1");
string dir = @"F:\CourseVideos\DXApplication1\DXApplication1\images";
dynamic result = py.generate_plot(dir);
pictureEdit1.Image = Image.FromFile(@"F:\CourseVideos\DXApplication1\DXApplication1\images\simple_plot.png");
}
}
PictureEdit
拉伸填充
pictureEdit1.Properties.SizeMode = PictureSizeMode.Stretch;
227



被折叠的 条评论
为什么被折叠?



