一文教你如何使用python编写交互式.exe程序

 更新时间:2025年07月18日 08:39:49   作者:xinyi  
这篇文章主要为大家详细介绍了如何使用python编写实现一个交互式.exe程序,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下

这个程序用到的是python上matplotlib模块。

Matplotlib是一个用于绘制数据可视化图表的Python库。它可以创建各种类型的图表,包括折线图、散点图、柱状图、饼图、等高线图等。Matplotlib具有广泛的功能和灵活性,可以满足各种绘图需求。

以下是Matplotlib的一些主要特点:

  • 灵活性:Matplotlib支持多种绘图风格,可以创建各种类型的图表,并允许用户自定义每个元素的外观和属性。
  • 易于使用: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, timeout=-1))#np.asarray 用于将输入转换为数组的函数
        if len(pts) < 3:
            tellme('点太少,重新开始')
            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找到pyinstaller执行写的代码,在其目录会生成dist文件夹,里面就是windows的可执行文件

如果在运行 pyinstaller 命令时出现 'pyinstaller' 不是内部或外部命令 的错误,可能是因为 pyinstaller 没有正确安装或者没有添加到系统环境变量中。

可以尝试以下解决方法:

  • 如果尚未安装 pyinstaller,请在命令提示符中输入以下命令来安装:复制pip install pyinstaller(其实已经在上面装了,只是不在环境变量里)
  • 如果已经安装了 pyinstaller,请检查是否将其添加到了系统环境变量中。可以按照以下步骤进行操作:
    • 右键单击“此电脑”并选择“属性”。
    • 选择“高级系统设置”。
    • 在“高级”选项卡下,单击“环境变量”。
    • 在“系统变量”下找到“Path”,并单击“编辑”。
    • 在弹出的对话框中,单击“新建”,并输入 C:\PythonXX\Scripts(其中 XX 是您的Python版本号)。
    • 单击“确定”保存更改。
  • 如何还不行,直接cd到该工程的目录下\venv\scripts\刚才装的installer在这里面,如下图所示

好了看一下dist的文件吧,

到这一步你就用有自己的第一个.exe程序了,大功告成!

到此这篇关于一文教你如何使用python编写交互式.exe程序的文章就介绍到这了,更多相关python交互式程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python pygame实现挡板弹球游戏

    python pygame实现挡板弹球游戏

    这篇文章主要为大家详细介绍了python pygame实现挡板弹球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 使用python实现滑动验证码功能

    使用python实现滑动验证码功能

    这篇文章主要介绍了使用python实现滑动验证码功能,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • 使用python PIL库实现简单验证码的去噪方法步骤

    使用python PIL库实现简单验证码的去噪方法步骤

    这篇文章主要介绍了使用python PIL库实现简单验证码的去噪方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 解决多个@Scheduled定时任务执行时个别不执行问题

    解决多个@Scheduled定时任务执行时个别不执行问题

    这篇文章主要介绍了解决多个@Scheduled定时任务执行时个别不执行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 在Lighttpd服务器中运行Django应用的方法

    在Lighttpd服务器中运行Django应用的方法

    这篇文章主要介绍了在Lighttpd服务器中运行Django应用的方法,本文所采用的是最流行的FastCGI模块,包括同时运行多个Django应用的方法,需要的朋友可以参考下
    2015-07-07
  • 使用Python在PDF中设置图片透明度的操作方法

    使用Python在PDF中设置图片透明度的操作方法

    在 PDF 文档编辑中,适当地调整图片的透明度,可以帮助实现更平衡的版面效果,使内容层次更清晰、视觉更协调,助 Free Spire.PDF for Python,我们可以通过简单的 Python 代码灵活设置图片的透明度,而无需借助复杂的图像编辑软件,需要的朋友可以参考下
    2025-11-11
  • 在Linux下使用Python的matplotlib绘制数据图的教程

    在Linux下使用Python的matplotlib绘制数据图的教程

    这篇文章主要介绍了在Linux下使用Python的matplotlib绘制数据图的教程,matplotlib基于Numpy进行科学计算上的延伸,需要的朋友可以参考下
    2015-06-06
  • Python读取文件内容为字符串的方法(多种方法详解)

    Python读取文件内容为字符串的方法(多种方法详解)

    这篇文章主要介绍了Python读取文件内容为字符串的方法,本文通过三种方式给大家介绍,在文章末尾给大家提到了python读取txt文件中字符串,字符串用空格分隔的相关知识,需要的朋友可以参考下
    2020-03-03
  • Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题

    Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题

    这篇文章主要介绍了Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python中zip()函数的使用方法详解

    Python中zip()函数的使用方法详解

    在Python中,zip()函数是一个非常实用且强大的内置函数,它主要用于将多个迭代器(如列表、元组、字符串等)中的元素“打包”成一个个元组,并返回一个迭代器,下面,我将详细探讨zip()函数的使用方法,需要的朋友可以参考下
    2024-09-09

最新评论