python編譯成可執行文件
① 怎樣將寫好的.py文件生成exe可執行文件
python製作exe可執行文件的方法---使用pyinstallerpython生成windows下exe
格式的可執行程序有三種可選方案:py2exe是大家所熟知的,今天要介紹pyinstaller,這個工具全平台可用。我曾使用python製作一個工
具程序供公司同事使用後,由於公司使用maclinuxwindows都有很多,就使用過它來將程序做成可執行文件,兼容性好,只是會使得程序在
linux平台和mac平台啟動較慢(windows還是比較快的),但基本夠用。安裝完pyinstaller之後就可以開始了。1.使用
pyinstaller生成可執行文件的方法1.1將依賴文件集中到一個文件夾:pyinstaller-D-wmain.py#把main.py替換成
你的主入口python文件即可。-w參數代表main.py是一個窗體程序。1.2將所有依賴文件都打包到同一個可執行文件
中:pyinstaller-F-wmain.py2.調查pyinstaller生成程序的載入過程使用如下命令,可以得到運行時的跟
蹤,tracing,loader的載入過程。pyinstaller-Fwdaui.py#把aui.py換成你需要偵測的文件即可。
② 有python代碼怎麼編成可執行的exe程序
py2exe啊,一點也不老,穩定而且好用。
操作步驟如下:
如果你有一個名為helloworld.py的python腳本,你想把它轉換為運行在windows上的可執行程序,並運行在沒有安裝python的windows系統上,那麼首先你應寫一個用於發布程序的設置腳本例如mysetup.py,在其中的setup函數前插入語句import py2exe 。
mysetup.py示例如下:
# mysetup.py
from distutils.core import setup
import py2exe
setup(console=["helloworld.py"])
然後按下面的方法運行mysetup.py:
python mysetup.py py2exe
上面的命令執行後將產生一個名為dist的子目錄,其中包含了helloworld.exe,python24.dll,library.zip這些文件。
如果你的helloworld.py腳本中用了已編譯的C擴展模塊,那麼這些模塊也會被拷貝在個子目錄中,同樣,所有的dll文件在運行時都是需要的,除了系統的dll文件。
dist子目錄中的文件包含了你的程序所必須的東西,你應將這個子目錄中的所有內容一起發布。
默認情況下,py2exe在目錄dist下創建以下這些必須的文件:
1、一個或多個exe文件。
2、python##.dll。
3、幾個.pyd文件,它們是已編譯的擴展名,它們是exe文件所需要的;加上其它的.dll文件,這些.dll是.pyd所需要的。
4、一個library.zip文件,它包含了已編譯的純的python模塊如.pyc或.pyo
上面的mysetup.py創建了一個控制台的helloword.exe程序,如果你要創建一個圖形用戶界的程序,那麼你只需要將mysetup.py中的console=["helloworld.py"]替換為windows=["myscript.py"]既可。
py2exe一次能夠創建多個exe文件,你需要將這些腳本文件的列表傳遞給console或windows的關鍵字參數。如果你有幾個相關聯的腳本,那麼這是很有用的。
運行下面個命令,將顯示py2exe命令的所有命令行標記。
python mysetup.py py2exe --help
③ python怎麼轉成exe文件
python提供pyinstaller庫將代碼打包成exe可執行文件,步驟如下:
1.安裝pyinstaller
安裝的方式如同安裝導入其他包一樣,使用pip,執行命令:
pip3 install pyinstaller
自動下載並安裝。
2.打包並轉換成exe
打開終端,進入到需要轉換的python文件路徑下,執行命令:
pyinstaller -F -w (-i icofile) filename
參數說明:
filename:Python文件名
-w :表示隱藏程序運行時的命令行窗口(不加-w會有黑色窗口)
-i icofile:可選參數(可不要),表示給程序加上圖標,圖標必須為.ico格式。icofile表示圖標所在路徑,建議直接放在python同一路徑下,這樣子打包的時候直接寫文件名就好。
3.打包成功
命令執行成功後,會生成N個文件夾,所需要的exe文件就在dist文件夾里。
至此,在windows下將python文件轉成exe就這樣搞定了。
推薦課程:Python高級進階視頻教程
④ python可以編譯成exe程序嗎
PyInstaller的原理簡介
PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指
望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的
庫。在Linux操作系統下,它主要用的binutil工具包裡面的ldd和objmp命令。
PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析
器,然後把這些文件放在一個目錄下,或者打包進一個可執行文件裡面。
可以直接發布輸出的整個文件夾裡面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他
包,或某個版本的Python,就可以直接運行了。
需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運
行,就必須針對該平台進行打包。
pyinstaller將Python腳本打包成可執行程序,使在沒有Python環境的機器上運行
最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。
可運行在Windows,Mac和Linux操作系統下。
但它不是跨編譯的,也就是說在Windows下用PyInstaller生成的exe只能運行在Windows下,在Linux下生成的只能運行在Linux下。
pyinstaller在windows下的安裝
使用命令pip install pyinstaller即可
在windows下,pyinstaller需要PyWin32的支持。當用pip安裝pyinstaller時未找到PyWin32,會自動安裝pypiwin32。
打包
打包的app里並不包含任何源碼,但將腳本的.pyc文件打包了。
基本語法:
pyinstaller options myscript.py
常用的可選參數如下:
--onefile 將結果打包成一個可執行文件
--onedir 將所有結果打包到一個文件夾中,該文件夾包括一個可執行文件和可執行文件執行時需要的依賴文件(默認)
--paths=DIR 設置導入路徑
--distpath=DIR 設置將打包的結果文件放置的路徑
--specpath=DIR 設置將spec文件放置的路徑
--windowed 使用windows子系統執行,不會打開命令行(只對windows有效)
--nowindowed 使用控制檯子系統執行(默認)(只對windows有效)
--icon=<FILE.ICO> 將file.ico添加為可執行文件的資源(只對windows有效
推薦學習《python教程》。
⑤ python文件如何生成可執行文件
先創建一個 app 目錄,在該目錄下創建一個 1233.py文件,文件中包含如下代碼:
- for looper in [1,2,3,4,5]:
print(looper)
接下來使用命令行工具進入到此 app 目錄下,執行如下命令:
pyinstaller -F 1233.py
執行上面命令,將看到詳細的生成過程。當生成完成後,將會在此 app 目錄下看到多了一個 dist 目錄,並在該目錄下看到有一個 1233.exe文件,這就是使用 PyInstaller 工具生成的 EXE 程序。