當前位置:首頁 » 編程語言 » python3exe打包

python3exe打包

發布時間: 2022-09-06 04:06:02

1. 怎麼把 python 打包成 exe 可執行文件

Python是一個腳本語言,被解釋器解釋執行。它的發布方式:
.py文件:對於開源項目或者源碼沒那麼重要的,直接提供源碼,需要使用者自行安裝Python並且安裝依賴的各種庫。(Python官方的各種安裝包就是這樣做的)
.pyc文件:有些公司或個人因為機密或者各種原因,不願意源碼被運行者看到,可以使用pyc文件發布,pyc文件是Python解釋器可以識別的二進制碼,故發布後也是跨平台的,需要使用者安裝相應版本的Python和依賴庫。
可執行文件:對於非碼農用戶或者一些小白用戶,你讓他裝個Python同時還要折騰一堆依賴庫,那簡直是個災難。對於此類用戶,最簡單的方式就是提供一個可執行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對不同平台需要打包不同的可執行文件(Windows,linux,Mac,...)。
本文主要就是介紹最後一種方式,.py和.pyc都比較簡單,Python本身就可以搞定。將Python腳本打包成可執行文件有多種方式,本文重點介紹PyInstaller,其它僅作比較和參考。
Freezing Your Code
各種打包工具的對比如下(來自文章Freezing Your Code):

Solution
Windows
Linux
OS X
Python 3
License
One-file mode
Zipfile import
Eggs
pkg_resources support

bbFreeze yes yes yes no MIT no yes yes yes
py2exe yes no no yes MIT yes yes no no
pyInstaller yes yes yes no GPL yes no yes no
cx_Freeze yes yes yes yes PSF no yes yes no
py2app no no yes yes MIT no yes yes yes
PS.其中pyInstaller和cx_Freeze都是不錯的,stackoverflow上也有人建議用cx_Freeze,說是更便捷些。pkg_resources新版的pyInstaller貌似是支持的。
安裝PyInstaller
對於那些網路比較穩定,能夠流暢使用pip源地址的用戶,直接下面的命令就可以搞定:
pip install pyinstaller

通常我們會下載源碼包,然後進入包目錄,執行下面的命令(需要安裝setuptools):
python setup.py install

安裝完後,檢查安裝成功與否:
pyinstaller --version

安裝成功後,就可以使用下面的命令了:
pyinstaller : 打包可執行文件的主要命令,詳細用法下面會介紹。
pyi-archive_viewer : 查看可執行包裡面的文件列表。
pyi-bindepend : 查看可執行文件依賴的動態庫(.so或.dll文件)
pyi-... : 等等。
使用PyInstaller
pyinstaller的語法:
pyinstaller [options] script [script ...] | specfile

最簡單的用法,在和myscript.py同目錄下執行命令:
pyinstaller mycript.py

然後會看到新增加了兩個目錄build和dist,dist下面的文件就是可以發布的可執行文件,對於上面的命令你會發現dist目錄下面有一堆文件,各種都動態庫文件和myscrip可執行文件。有時這樣感覺比較麻煩,需要打包dist下面的所有東西才能發布,萬一丟掉一個動態庫就無法運行了,好在pyInstaller支持單文件模式,只需要執行:
pyinstaller -F mycript.py

你會發現dist下面只有一個可執行文件,這個單文件就可以發布了,可以運行在你正在使用的操作系統類似的系統的下面。
當然,pyinstaller還有各種選項,有通用選項,如-d選項用於debug,了解pyInstaller執行的過程;還有一些針對不同平台的選項,具體用法可以訪問PyInstaller官方WIKI。
在執行pyInstaller命令的時候,會在和腳本相同目錄下,生成一個.spec文件,該文件會告訴pyinstaller如何處理你的所有腳本,同時包含了命令選項。一般我們不用去理會這個文件,若需要打包數據文件,或者給打包的二進制增加一些Python的運行時選項時...一些高級打包選項時,需要手動編輯.spec文件。可以使用:
pyi-makespec options script [script ...]

創建一個.spec文件,對於手動編輯的.spec文件,我們可以使用下面任意一條命令:
pyinstaller specfile
pyi-build specfile

PyInstaller的原理簡介
PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的庫。在Linux操作系統下,它主要用的binutil工具包裡面的ldd和objmp命令。
PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析器,然後把這些文件放在一個目錄下,或者打包進一個可執行文件裡面。
可以直接發布輸出的整個文件夾裡面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他包,或某個版本的Python,就可以直接運行了。
需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運行,就必須針對該平台進行打包。

2. 怎麼將多個python打包成exe文件

1、安裝pywin32,可以參考《怎麼給python安裝pywin32模塊?》,一定要注意對應的python版本,否則不能安裝。

3. 如何把python3程序原文件封裝成exe

1.python封裝成exe,對於2.3 - 2.7版本的,都可以用PyInstaller:
【記錄】用PyInstaller把Python代碼打包成單個獨立的exe可執行文件

2.你這個是Python 3,沒法用PyInstaller
cx_freeze,好像是支持的,你可以去試試。
3.關於cx_freeze,自己google:
cx_freeze
就可以找到詳細信息了。

(此處不給貼地址,請自己用google搜標題,即可找到帖子地址)

4. python3.5:pyd文件打包為exe失敗

  • 被打包的文件:helloworld.py, 人人皆知.

  • 打包的命令:pyinstaller -D helloworld.py

  • 打包的console提示: 見隨後的引述塊

  • 打包發布exe時的紀律(注意事項):

  • 很簡單的py腳本. Simple is better than complex. 應該遵守Python的規則.

  • 所以在打包為exe時, 應該盡量減少沒有必要的python包的導入. 否則吃的太胖

  • 可以運行的exe文件位於:dist目錄下, 而不是build目錄下的.

5. python3+scapy能否打包成EXE文件

可以啊,可以搜索,python 文件打包成exe格式,一般需要外界的包
我知道的一個包:pyinstaller

6. 如何將python文件打包成exe文件

1.需要安裝 py2exe
2.示例代碼:
#exetest.py#創建一個gui界面,只用一個標簽和按鈕,無功能from Tkinter import *win = Tk()
label = Label(win,text = 'hello')
btn = Button(win,text = 'click')
label.pack()
btn.pack()
win.mainloop()

3.配置代碼:
#exeset.pyfrom distutils.core import setupimport py2exe
setup(console=["exetest.py"]) #運行的時候會有CMD窗口#或者setup(windows=["exetest.py"]) 運行的時候只有GUI

4.執行轉換
首先定位到文件目錄,然後運行CMD
python exeset.py py2exe

執行完畢之後會在該目錄中生成一個文件夾dist,裡面是生成的exe程序和相關依賴
5.使用pyinstaller
感覺pyinstaller比py2exe更好用,下載pyinstaller後解壓就好,然後把一個demo.py復制到目錄下,定位到位置後輸入命令:
python pyinstaller.py --onefile --windowed --icon=path\x.ico demo.py

其中 --onefile 表示只生成一個.exe文件,相關依賴都打包了, --windowed 表示生成的是GUI,否則是帶命令窗口的, --icon 是設置.exe的圖標。這些都是可選項。

7. python如何打包稱exe

最近寫了一個小小的程序,需要進行封裝exe,為了簡單,就直接用了pyinstaller這個模塊,對於python3.6版本的童鞋來說,簡直方便的不要。下面就給大家介紹一下如何用pyinstaller去封裝程序為exe程序。

首先,需要安裝一下pip這個應用,這個已經在前面的文章中說過了,windows和linux都有請借鑒windows和linux。

第二步,安裝好pip之後,在cmd命令窗口中輸入pip install pyinstaller即能安裝上pyinstaller,那麼接下來要介紹一下關於pyinstaller幾個指令了:
-w指令
直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽;
-F指令
注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾;
-p指令
這個指令後面可以增加pyinstaller搜索模塊的路徑。因為應用打包涉及的模塊很多。這里可以自己添加路徑。不過經過筆者測試,site-packages目錄下都是可以被識別的,不需要再手動添加。
那麼通常是使用-F指令,使用的語法是:pyinstaller -F (python程序名稱).py

8. 如何將python程序打包為exe

用pyinstaller,很容易就能實現,步驟如下:
下載pyinstaller包,(我可以安裝包發給你),把pyinstaller解壓到任意路徑後
1.開始->運行->cmd->回車
2.把路徑改為pyinstaller所在的路徑。比如pyinstaller在D盤,則輸入「D:」(不包括「下同)回車,再輸入」cd pyinstaller」回車
3.把你要打包的.py文件和執行文件所需要的文件復制到你解壓的文件夾中(假如你要打包hello.py)
4.輸入「Configure.py」回車
5.輸入「Makespec.py hello.py」回車,正確的話會產生一個hello文件夾,把這個文件夾你的hello.spec文件復制到跟hello.py一個目錄里
6.輸入「Build.py hello.spec」回車,正確執行後會在當前目錄產生幾個文件夾,在dist文件夾里的東西就是我們所需要的,最後記得把所有程序hello.py所需的文件拷到dist文件夾里。

9. Python3.5如何打包編譯

python3.5怎麼打包編譯

問題:用Python開發的小工具有時需要編譯打包為Windows(*.exe)、Mac等操作系統下的可執行性文件以供非程序員使用。

解決方案:

一、py2exe

目前只支持到Python3.4,暫不支持Python3.5

相關推薦:《Python視頻教程》

二、PyInstaller

安裝:

直接安裝:

pip install pyinstaller

下載源碼包,然後進入包目錄,用命令安裝

python setup.py install

使用:

進入cmd窗口

進入需要打包的程序目錄

輸入:pyinstaller + 需要打包的程序(*.py)名稱

發布命令:

-w指令

直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽

-F指令

注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾

Error:failed to create process

編譯時,出現「failed to create process」錯誤。

解決方法是打開pyinstaller-script.py,把第一行的路徑用引號括起來,最終是下面這個樣子就對了

#!"c:program filespython35-32python.exe"

10. python3 使用pyinstaller打包exe程序出錯提示計算機缺少文件

事情是這樣的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一個exe程序,但是運行時提示我缺
少bs4模塊然後我就去查pyinstaller的使用方法,找到pyinstaller有一個-p參數:
1.設置導入路徑(和使用PYTHONPATH效果相似).可以用路徑分割符(Windows使用分號,Linux使用冒號)分割,指定多個目錄.
2.也可以使用多個-p參數來設置多個導入路徑
然後我找到bs4模塊所在的目錄E:\python\clpicdownload\venv\Lib\site-packages,路徑的查找的方法是:
用pycharm打開工程,菜單->setting->project->project Interpreter,把滑鼠點到你想要包含的插件上,hint顯示的就是所在目錄

熱點內容
ios應用上傳 發布:2024-09-08 09:39:41 瀏覽:438
ios儲存密碼哪裡看 發布:2024-09-08 09:30:02 瀏覽:870
opensslcmake編譯 發布:2024-09-08 09:08:48 瀏覽:653
linux下ntp伺服器搭建 發布:2024-09-08 08:26:46 瀏覽:744
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:173
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:780
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:101
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:209
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995