寫在前面
做大創(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)還是后者更加的簡(jiǎ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('請(qǐng)輸入第一個(gè)數(shù):')y = input('請(qǐng)輸入第二個(gè)數(shù):')z = float(x) +float(y)print('求得和為:'+str(z))z = input('請(qǐng)按任意鍵退出...') 這個(gè)文件夾絕對(duì)地址為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ù)的話,它將會(huì)是一大堆文件,所以這相當(dāng)于是方便拷貝和使用了。
當(dāng)一長串信息閃過,最終停止后,我們就可以再看一下文件夾中的內(nèi)容了,其中多出了一個(gè)dist文件夾,里面存放的就是我們所需要的東西:test.exe。
我們打開以后,就可以看到以下界面
示例界面
恭喜你!成功了。
一些小坑
當(dāng)然,小程序打包成exe誰也不像動(dòng)則三四百兆,本來就是圖個(gè)方便,如果太大的話反而還比較麻煩。所以我在打包的時(shí)候就發(fā)現(xiàn)pyinstaller會(huì)把程序用到的所有模塊都給他包含進(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('請(qǐng)輸入第一個(gè)數(shù):')y = input('請(qǐng)輸入第二個(gè)數(shù):')z = float(x) +float(y)print('求得和為:'+str(z))z = input('請(qǐng)按任意鍵退出...')生成的exe大小就到了100M.
所以無奈之下,我只能放棄使用numpy了。
所以諸位大佬如果知道怎么能夠自己控制pyinstaller所打包進(jìn)去的庫,還希望在評(píng)論或者私信指點(diǎn)一下,感激不盡?。?!以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選