一文教你如何使用python编写交互式.exe程序
这个程序用到的是python上matplotlib模块。
Matplotlib是一个用于绘制数据可视化图表的Python库。它可以创建各种类型的图表,包括折线图、散点图、柱状图、饼图、等高线图等。Matplotlib具有广泛的功能和灵活性,可以满足各种绘图需求。
以下是Matplotlib的一些主要特点:
- 灵活性:Matplotlib支持多种绘图风格,可以创建各android种类型的图表,并允许用户自定义每个元素的外观和属性。
- 易于使用:Matplotlib具有简单易懂的API,使得用户可以轻松地创建和定制图表。
- 交互式绘图:Matplotlib支持交互式绘图,用户可以通过缩放、平移和旋转等操作来探索数据。
- 多平台支持:Matplotlib可以在多个操作系统上运行,并且可以与许多GUI工具包(如Tkinter、wxPython和Qt)集成。
Matplotlib主要由以下几个模块组成:
- pyplot:这是Matplotlib的主要模块,它提供了类似于MATLAB的界面,使得用户可以轻松地创建和定制图表。
- pylab:这是一个便利的模块,它将pyplot和NumPy等库组合在一起,并提供了一些额外的功能。
- artist:这是Matplotlib中所有可见元素(如图形、轴、文本等)的基类。
- backend:这是Matplotlib的后端模块,它负责将图形渲染到屏幕或文件中。
下面开始去如何用pycharm实现这个可执行程序。
首先下载一个pycharm程序
安装后,左上角文件-新建项目
默认设置即可。
右键点击该工程,新建一个python文件,需要在这个文件里导入模块,这里用到的模块就是Matplotlib numpy,看最下面,选终端。
需要在终端内用命令:pip install matplotlib numpy
安装完毕,就可以在python文件写代码了
下面是这个程序源码:(函数和功能已注释了,复制进去就可以)
import time import numpy as np import matplotlib.pyplot as plt #写入文字需要存在汉字包的字体文件 plt.rcParams['font.family'] = 'Arial Unicode MS' def tellme(s): print(s) plt.title(s, fontsize=16) plt.draw() plt.figure() plt.xlim(0, 1)#坐标系x显示限制 plt.ylim(0, 1)#坐标系y显示限制 tellme('你将定义一个三角形,点击开始') #waitforbuttonpress 侦听按键函数 plt.waitforbuttonpress() while True: pts = [] while len(pts) < 3: tellme('用鼠标选择3个角') pts = np.asarray(plt.ginput(3, timejsout=-1))#np.asarray 用于将输入转换为数组的函数 if len(pts) < 3: tellme('点太少ZPgpQg,重新开始') time.sleep(1) # 等1秒 ph = plt.fill(pts[:, 0], pts[:, 1], 'r', lw=2) tellme('成功了吗?键盘点击表示是,鼠标点击表示不是') if plt.waitforbuttonpress():<code> break # 摆脱填充 for p in ph: p.remove() # 定义一个与各个点的距离的函数 def f(x, y, pts): z = np.zeros_like(x) for p in pts: z = z + 1/(np.sqrt((x - p[0])**2 + (y - p[1])**2)) return 1/z #np.meshgrid 用于生成网格点坐标矩阵的函数,通常用于在二维或三维空间中绘制函数图像或进行插值运算 X, Y = np.meshgrid(np.linspace(-1, 1, 51), np.linspace(-1, 1, 51)) Z = f(X, Y, pts) CS = plt.contour(X, Y, Z, 20) tellme('用鼠标选择等高线标签位置,中键完成') CL = plt.clabel(CS, manual=True) tellme('现在做一个嵌套缩放,点击开始') plt.waitforbuttonpress() while True: tellme('选择缩放的两个角,鼠标中键完成') pts = plt.ginput(2, timeout=-1) if len(pts) < 2: break (x0, y0), (x1, y1) = pts xmin, xmax = sorted([x0, x1]) ymin, ymax = sorted([y0, y1]) plt.xlim(xmin, xmax) plt.ylim(ymin, ymax) tellme('完成!') plt.show()
我们在pycharm环境中测试一下(ctrl+shift+F10,测试当前代码执行)
运行没啥问题,选3个角,生成等高线
选择缩放两个角,按鼠标中键完成
用pyinstaller封装py代码,生成可执行文件。
先在终端里pip install pyinstaller
在Windows的cmd找到pyinsandroidtaller执行写的代码,在其目录会生成dist文件夹,里面就是windows的可执行文件
如果在运行 pyinstaller
命令时出现 'pyinstaller' 不是内部或外部命令
的错误,可能是因为&n编程bsp;pyinstaller
没有正确安装或者没有添加到系统环境变量中。
可以尝试以下解决方法:
- 如果尚未安装
pyinstaller
,请在命令提示符中输入以下命令来安装:复制pip install pyinstaller
(其实已经在上面装了,只是不在环境变量里) - 如果已经安装了
pyinstaller
,请检查是否将其添加到了系统环境变量中。可以按照以下步骤进行操作:- 右键单击“此电脑”并选择“属性”。
- 选择“高级系统设置”。
- 在“高级”选项卡下,单击“环境变量”。
- 在“系统变量”下找到“Path”,并单击“编辑”。
- 在弹出的对话框中,单击“新建”,并输入
C:\PythonXX\Scripts
(其中XX
是您的Python版本号)。 - 单击“确定”保存更改。
- 如何还不行,直接cd到该工程的目录下\venv\scripts\刚才装的installer在这里面,如下图所示
好了看一下dist的文件吧,
到这一步你就用有自己的第一个.exe程序了,大功告成!
到此这篇关于一文教你如何使用python编写交互式.exe程序的文章就介绍到这了,更多相关python交互式程序内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论