亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

將python打包為exe可執(zhí)行文件—Pyinstaller工具

xiaoqibTn / 1523人閱讀

摘要:現(xiàn)在,主流的工具有,本文只介紹的使用。準(zhǔn)備工作開發(fā)環(huán)境和工具可以支持和。

python是腳本語言,如果你在開發(fā)機(jī)器上執(zhí)行當(dāng)然會(huì)很方便,可是如果你幫他人寫了個(gè)腳本,想在他人機(jī)器上運(yùn)行,可能會(huì)遇到點(diǎn)困難。

為了讓腳本在他人機(jī)器上順利執(zhí)行,你首先要幫他安裝python解釋器,如果你import了一些庫比如pandas,那這個(gè)也需要安裝,甚至相關(guān)的依賴也需要安裝。這個(gè)時(shí)間成本顯然是很大的,這部分工作也很枯燥,甚至?xí)绊懝ぷ鞣e極性,因此花一點(diǎn)時(shí)間,學(xué)會(huì)如何將python腳本打包為.exe文件,無需再安裝各種開發(fā)環(huán)境和依賴庫,是一件一勞永逸的事情。

現(xiàn)在,主流的工具有Pyinstaller、cz_Freeze、py2exe,本文只介紹Pyinstaller的使用。


準(zhǔn)備工作

1.開發(fā)環(huán)境和工具:

python 3.7

Pyinstaller 3.4

windows 10

Pyinstaller可以支持Python 2.7 和3.4—3.7。*

2.要打包的文件myscript.py源碼:

import pandas as pd

df = pd.read_excel("D:/account.xls")
result = dr.dropna()
result.to_excel("D:/result.xls")
該源碼包含pandas, xlrd, xlwt等庫

3.在windows上安裝Pyinstaller

根據(jù)Pyinstaller官方表述,在windows上安裝Pyinstaller需要先安裝pywin32 或 pypiwin32, 否則待會(huì)兒轉(zhuǎn)換時(shí),會(huì)提示無法找到win32com模塊的錯(cuò)誤,雖然報(bào)錯(cuò)缺win32com,但你要清楚缺的其實(shí)是pywin32 或 pypiwin32。

先用下面pip命令查看自己是否已安裝該模塊:

pip list

如果沒有找到,在pywin32下載地址下載對(duì)應(yīng)版本的pywin32,或者直接用下面命令安裝pypiwin32:

pip install pypiwin32

最后安裝Pyinstaller:

pip install pyinstaller
開始打包

可以使用下面命令打包

pyinstaller myscript.py

該命令執(zhí)行后, pyinstaller會(huì)分析myscript.py文件,并且在腳本script.py所在文件夾中:

生成myscripy.spec

創(chuàng)建文件夾build

在build文件夾中生成日志文件和運(yùn)行所需文件

創(chuàng)建dist文件夾

在dist文件夾中創(chuàng)建可執(zhí)行文件夾myscript,在myscript文件夾中,就可以找到myscript.exe可執(zhí)行文件

上面命令生成了很多依賴文件,如果想打包為獨(dú)立單一的.exe文件,使用-F參數(shù)

pyinstaller -F myscript.py

默認(rèn)生成的執(zhí)行文件執(zhí)行時(shí),會(huì)彈出一個(gè)命令行的窗口,如果不需要彈出,可以再加個(gè)-w參數(shù)

pyinstaller -F -w myscript.py
遇到的問題

打包過程中難免會(huì)遇到問題,一般都會(huì)遇到缺少模塊的問題,比如,在對(duì)myscript.py打包時(shí)會(huì)報(bào)錯(cuò)ModuleNotFoundError,缺少xlrd, xlwt等模塊,一般來說可以按照下面三個(gè)步驟進(jìn)行解決:
1.Pyinstalled會(huì)從本地的環(huán)境路徑下找需要的模塊,例如python的包都放在site-packages目錄下,因此,Pyinstalled可以直接從該目錄下獲取需要的模塊。如果本地也缺少該模塊,先通過pip命令安裝。例如:

pip install xlrd
pip install xlwt

2.如果你需要的模塊不在site-packages,而在你指定的目錄下,那打包時(shí)你可以通過-P DIR參數(shù)指定,其中DIR為你需要的模塊路徑:

pyinstaller -F -w -p DIR myscript.py
-p命令允許指定多個(gè)模塊路徑,可以用:分隔,或者多次使用這個(gè)參數(shù),像這樣:pyinstaller -p DIR1:DIR2:DIR3 myscript.pypyinstaller -p DIR1 -p DIR2 -p DIR3 myscripy.py

3.有時(shí)候并不是找不到模塊,而是代碼中有些模塊是隱含導(dǎo)入的,這樣的話就需要指出這些模塊,才能正確的打包,可以在命令行打包時(shí)使用參數(shù)--hidden-import MODULENAME指定模塊名,或者可以在打包后生成的myscript.spec文件中修改,該文件中有個(gè)參數(shù)hiddenimports=[]
配置為:

hiddenimports=["cython","sklearn","sklearn.ensemble","sklearn.tree._utils","scipy._lib.messagestream"] 

然后再運(yùn)行以下命令

pyinstaller myscript.spec

到此本片文章結(jié)束。

如果遇到什么問題,歡迎大家和我交流。如有不對(duì)之處,還望指正。

參考:

https://pyinstaller.readthedo...

https://blog.csdn.net/windows...

https://zhuanlan.zhihu.com/p/...

https://zhuanlan.zhihu.com/p/...

https://www.jianshu.com/p/95c...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45050.html

相關(guān)文章

  • exe 文件反編譯成 Python 腳本

    摘要:打包成單文件所使用的命令為打包成文件夾所使用的命令為不管是哪種打包方式都會(huì)留下一個(gè)文件。這樣我們只需將腳本文件和腳本文件放置到同一文件夾下,運(yùn)行我們的腳本。可以看到已經(jīng)完美的反編譯出其中的腳本好了,相信大家已經(jīng)明白了反編譯的原理。 近期閱讀了一篇很感興趣的文章,為免后續(xù)文章被刪無法再閱讀,現(xiàn)...

    xbynet 評(píng)論0 收藏0
  • Python如何生成windows執(zhí)行exe文件

    摘要:為什么要生成可執(zhí)行文件不需要安裝對(duì)應(yīng)的編程環(huán)境可以將你的應(yīng)用閉源用戶可以方便快捷的直接使用打包工具安裝如果你的網(wǎng)絡(luò)穩(wěn)定,通常直接使用下面的命令安裝即可當(dāng)然了,你也可以下載源碼包,然后進(jìn)入包目錄執(zhí)行下面的命令,同樣可以安裝前提是需要安裝安裝過 為什么要生成可執(zhí)行文件 不需要安裝對(duì)應(yīng)的編程環(huán)境 可以將你的應(yīng)用閉源 用戶可以方便、快捷的直接使用 打包工具 pyinstaller 安裝py...

    Crazy_Coder 評(píng)論0 收藏0
  • 全網(wǎng)首份Python打包工具Pyinstaller實(shí)戰(zhàn)指南,如絲滑般體驗(yàn)

    摘要:最好是客戶雙擊,完事兒。目前已經(jīng)兼容,以及和。一共會(huì)有個(gè)對(duì)象,分別是。,就是我們的工作目錄,存放我們的數(shù)據(jù)。編譯打包最后,我們執(zhí)行就好了。打包的可執(zhí)行文件會(huì)在里,中是一些打包時(shí)候需要的文件。輸出中最后有字樣,就算成功了。 showImg(https://img-blog.csdnimg.cn/20190303211533768.png?x-oss-process=image/water...

    caikeal 評(píng)論0 收藏0
  • 使用pyinstallerpython打包exe

    摘要:起因是從某發(fā)現(xiàn)了一個(gè)站掛機(jī)助手,依賴于直播的一個(gè)庫,作者的處理方式是將依賴的庫打包為,然后使用進(jìn)行調(diào)用。它能夠在等操作系統(tǒng)下將源文件打包,通過對(duì)源文件打包,程序可以在沒有安裝的環(huán)境中運(yùn)行,也可以作為一個(gè)獨(dú)立文件方便傳遞和管理。 起因是從某 hub 發(fā)現(xiàn)了一個(gè)B站掛機(jī)助手,依賴于直播的一個(gè)庫,作者的處理方式是將依賴的庫打包為 exe,然后使用 python 進(jìn)行調(diào)用。 然后因?yàn)橐蕾嚨?l...

    AnthonyHan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<