利用pyinstaller將py文件打包為exe

如何將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)還是后者更加的簡(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)一長(zhǎ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)一下,感激不盡?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文鏈接 我經(jīng)常用python寫些腳本什么的,有時(shí)候腳本寫完以后,每次運(yùn)行都得在IDE打開在運(yùn)行,很麻煩,所以經(jīng)常...
    g0閱讀 6,250評(píng)論 0 2
  • 在我們完成一個(gè)Python項(xiàng)目或一個(gè)程序時(shí),希望將Python的py文件打包成在Windows系統(tǒng)下直接可以運(yùn)行的...
    可笑的黑耀斑閱讀 2,769評(píng)論 0 2
  • Python是解釋性語言,一般在編碼和運(yùn)行的時(shí)候也都是直接在Python開發(fā)環(huán)境下運(yùn)行,使用Pyinstaller...
    可許我言閱讀 5,331評(píng)論 0 0
  • 楊兆卓 聽說瓦崗寨景區(qū)特別好玩,于是我和姐姐就纏著爸爸去瓦崗寨游玩一天。爸爸終于答應(yīng)了我倆的要求...
    yanzhazhu閱讀 160評(píng)論 0 1
  • 樂山高鐵站附近真沒什么吃的,淋著雨找了一大圈,來到車站對(duì)面的美食城,稀稀拉拉的幾家小店,想吃樂山美食,卻不知吃什么...
    苛娃閱讀 343評(píng)論 0 2

友情鏈接更多精彩內(nèi)容