一文教你如何使用python編寫交互式.exe程序
這個程序用到的是python上matplotlib模塊。
Matplotlib是一個用于繪制數(shù)據(jù)可視化圖表的Python庫。它可以創(chuàng)建各種類型的圖表,包括折線圖、散點圖、柱狀圖、餅圖、等高線圖等。Matplotlib具有廣泛的功能和靈活性,可以滿足各種繪圖需求。
以下是Matplotlib的一些主要特點:
- 靈活性:Matplotlib支持多種繪圖風格,可以創(chuàng)建各種類型的圖表,并允許用戶自定義每個元素的外觀和屬性。
- 易于使用:Matplotlib具有簡單易懂的API,使得用戶可以輕松地創(chuàng)建和定制圖表。
- 交互式繪圖:Matplotlib支持交互式繪圖,用戶可以通過縮放、平移和旋轉(zhuǎn)等操作來探索數(shù)據(jù)。
- 多平臺支持:Matplotlib可以在多個操作系統(tǒng)上運行,并且可以與許多GUI工具包(如Tkinter、wxPython和Qt)集成。
Matplotlib主要由以下幾個模塊組成:
- pyplot:這是Matplotlib的主要模塊,它提供了類似于MATLAB的界面,使得用戶可以輕松地創(chuàng)建和定制圖表。
- pylab:這是一個便利的模塊,它將pyplot和NumPy等庫組合在一起,并提供了一些額外的功能。
- artist:這是Matplotlib中所有可見元素(如圖形、軸、文本等)的基類。
- backend:這是Matplotlib的后端模塊,它負責將圖形渲染到屏幕或文件中。
下面開始去如何用pycharm實現(xiàn)這個可執(zhí)行程序。
首先下載一個pycharm程序
安裝后,左上角文件-新建項目

默認設(shè)置即可。
右鍵點擊該工程,新建一個python文件,需要在這個文件里導入模塊,這里用到的模塊就是Matplotlib numpy,看最下面,選終端。

需要在終端內(nèi)用命令:pip install matplotlib numpy

安裝完畢,就可以在python文件寫代碼了
下面是這個程序源碼:(函數(shù)和功能已注釋了,復制進去就可以)
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 偵聽按鍵函數(shù)
plt.waitforbuttonpress()
while True:
pts = []
while len(pts) < 3:
tellme('用鼠標選擇3個角')
pts = np.asarray(plt.ginput(3, timeout=-1))#np.asarray 用于將輸入轉(zhuǎn)換為數(shù)組的函數(shù)
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()
# 定義一個與各個點的距離的函數(shù)
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 用于生成網(wǎng)格點坐標矩陣的函數(shù),通常用于在二維或三維空間中繪制函數(shù)圖像或進行插值運算
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('現(xiàn)在做一個嵌套縮放,點擊開始')
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環(huán)境中測試一下(ctrl+shift+F10,測試當前代碼執(zhí)行)

運行沒啥問題,選3個角,生成等高線

選擇縮放兩個角,按鼠標中鍵完成

用pyinstaller封裝py代碼,生成可執(zhí)行文件。
先在終端里pip install pyinstaller
在windows的cmd找到pyinstaller執(zhí)行寫的代碼,在其目錄會生成dist文件夾,里面就是windows的可執(zhí)行文件
如果在運行 pyinstaller 命令時出現(xiàn) 'pyinstaller' 不是內(nèi)部或外部命令 的錯誤,可能是因為 pyinstaller 沒有正確安裝或者沒有添加到系統(tǒng)環(huán)境變量中。
可以嘗試以下解決方法:
- 如果尚未安裝
pyinstaller,請在命令提示符中輸入以下命令來安裝:復制pip install pyinstaller(其實已經(jīng)在上面裝了,只是不在環(huán)境變量里) - 如果已經(jīng)安裝了
pyinstaller,請檢查是否將其添加到了系統(tǒng)環(huán)境變量中??梢园凑找韵虏襟E進行操作:- 右鍵單擊“此電腦”并選擇“屬性”。
- 選擇“高級系統(tǒng)設(shè)置”。
- 在“高級”選項卡下,單擊“環(huán)境變量”。
- 在“系統(tǒng)變量”下找到“Path”,并單擊“編輯”。
- 在彈出的對話框中,單擊“新建”,并輸入
C:\PythonXX\Scripts(其中XX是您的Python版本號)。 - 單擊“確定”保存更改。
- 如何還不行,直接cd到該工程的目錄下\venv\scripts\剛才裝的installer在這里面,如下圖所示

好了看一下dist的文件吧,

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

到此這篇關(guān)于一文教你如何使用python編寫交互式.exe程序的文章就介紹到這了,更多相關(guān)python交互式程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python登陸asp網(wǎng)站頁面的實現(xiàn)代碼
這篇文章主要介紹了python登陸asp網(wǎng)站頁面的實現(xiàn)代碼,需要的朋友可以參考下2015-01-01
Python之ThreadPoolExecutor線程池問題
這篇文章主要介紹了Python之ThreadPoolExecutor線程池問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

