利用pyinstaller將py文件打包為exe的方法
寫在前面
做大創(chuàng)的時(shí)候,因?yàn)樾枰?jì)算合金的各種能量、溫度等一大堆數(shù)據(jù),為了能夠福澤后來的學(xué)弟學(xué)妹,我決定將我處理數(shù)據(jù)時(shí)用的python程序打包成exe,這樣就可以在沒有安裝python環(huán)境的電腦上運(yùn)行我的程序了。所以上網(wǎng)查了一大堆如何打包的方法,嘗試了py2exe和pyinstaller這兩種方法,發(fā)現(xiàn)還是后者更加的簡單便捷。同時(shí)為了能夠幫助我自己以后再想用到的時(shí)候有一個(gè)教程可以查找,我就寫了這一篇博客出來,留作紀(jì)念。
前提條件
首先我們需要兩個(gè)東西:python3.4版本,pyinstaller模塊。
在windows下用pip安裝pyinstaller只需要在cmd中輸入
pip install pyinstaller
即可。
開始打包
首先我們將想要打包的test.py文件放在文件夾Test中,test.py文件中內(nèi)容如下
#輸入兩個(gè)數(shù),求兩個(gè)數(shù)之和。 x = input('請輸入第一個(gè)數(shù):') y = input('請輸入第二個(gè)數(shù):') z = float(x) +float(y) print('求得和為:'+str(z)) z = input('請按任意鍵退出...')
這個(gè)文件夾絕對地址為C:/Test
所以我們首先通過cmd進(jìn)入到這個(gè)文件夾內(nèi),也就是在cmd中輸入
cd C:/Test
我們這就相當(dāng)于已經(jīng)進(jìn)入到了這個(gè)文件夾中,接下來就是重頭戲了,是時(shí)候打包了。
再在cmd中輸入命令
pyinstaller -F test.py
其中-F這個(gè)參數(shù)代表將所有內(nèi)容打包成一個(gè)exe文件。如果不帶這個(gè)參數(shù)的話,它將會是一大堆文件,所以這相當(dāng)于是方便拷貝和使用了。
當(dāng)一長串信息閃過,最終停止后,我們就可以再看一下文件夾中的內(nèi)容了,其中多出了一個(gè)dist文件夾,里面存放的就是我們所需要的東西:test.exe。
我們打開以后,就可以看到以下界面
示例界面
恭喜你!成功了。
一些小坑
當(dāng)然,小程序打包成exe誰也不像動(dòng)則三四百兆,本來就是圖個(gè)方便,如果太大的話反而還比較麻煩。所以我在打包的時(shí)候就發(fā)現(xiàn)pyinstaller會把程序用到的所有模塊都給他包含進(jìn)去。
當(dāng)我用到了numpy模塊的時(shí)候,我的exe程序一下子漲到了100+M,這就讓我很費(fèi)解,我看了一下打包的信息,原來他把各種PyQt5的模塊也給包進(jìn)去了,然而我的程序中并沒有用到PyQt5這個(gè)模塊,畢竟就一個(gè)黑框框,還沒有給它寫界面呢。
假如我用的例子是
import numpy as np #輸入兩個(gè)數(shù),求兩個(gè)數(shù)之和。 x = input('請輸入第一個(gè)數(shù):') y = input('請輸入第二個(gè)數(shù):') z = float(x) +float(y) print('求得和為:'+str(z)) z = input('請按任意鍵退出...')
生成的exe大小就到了100M.
所以無奈之下,我只能放棄使用numpy了。
所以諸位大佬如果知道怎么能夠自己控制pyinstaller所打包進(jìn)去的庫,還希望在評論或者私信指點(diǎn)一下,感激不盡?。?!以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python生產(chǎn)環(huán)境禁用assert斷言的方法
斷言就是世界結(jié)果與期望結(jié)果去對比,符合預(yù)期的測試就是pass,不符合預(yù)期的測試就是failed,下面這篇文章主要給大家介紹了關(guān)于python生產(chǎn)環(huán)境禁用assert斷言的相關(guān)資料,需要的朋友可以參考下2022-06-06

python之當(dāng)你發(fā)現(xiàn)QTimer不能用時(shí)的解決方法

python Dijkstra算法實(shí)現(xiàn)最短路徑問題的方法

Python采集數(shù)據(jù)保存CSV文件出現(xiàn)內(nèi)容亂碼的解決方法