[英]How to make an executable file in Python?
我想制作我的Python應用程序的可執行文件(.exe)。
我想知道如何做到這一點,但請記住:我使用C ++ DLL!
我是否必須將DLL與.exe放在一邊或者還有其他方法嗎?
py2exe可以生成單個文件可執行文件。 請參閱此鏈接以獲取示例。
我使用的setup.py使用以下選項組合:
'compressed': 1,
'optimize':2,
'bundle_files': 1
我通常在可執行文件所在的同一文件夾中添加外部dll(pe msvcr71.dll)。
為了便於分發並在生成exe后自動安裝,您可以使用Inno Setup創建一個安裝程序,將您的exe和dll以及其他文檔(自述文件等)放入應用程序目錄中
請遵循以下步驟:您可以在此站點中找到此文檔。
假設您在此目錄中安裝了PIP c:\\ PythonXX \\ Scripts,如果沒有,請訪問此站點並查看有關如何“安裝Python索引項目(PIP)”的說明。 轉到命令提示符並鍵入以下命令。
轉到此站點並查找名為pywin32-218.win32-py2.7.exe 2.7的可執行文件,該文件用於32位系統,用於python27查找與您對應的系統。 運行可執行文件,它應該成功安裝PyWin32,它與pyinstaller攜手合作!
現在您已經擁有了PyInstaller和PyWin32,您可以開始創建單個可執行文件。 單個可執行文件將在另一個名為“dist”的文件夾中創建,此文件夾也是在運行pyinstaller命令時動態創建的。 為了清楚你的pyinstaller文件被你復制到另一個可能被稱為“pyinstaller_files”文件夾的文件夾,所以現在在命令提示符下鍵入以下命令。
上面的命令將在pyinstaller_files文件夾中創建一個名為“dist”的文件夾,該文件夾將包含您的單個可執行文件“yourscript.exe”。 您現在可以將單個可執行文件移動到您選擇的位置,並使用“yourscript.spec”文件刪除“dist”和“build”文件夾,因為不再需要它們來運行您的單個可執行文件。
使用py2exe 。 您可以將DLL放在與最終EXE相同的文件夾中,它應該可以正常加載。
我使用以下每個工具從Python 2.7代碼構建了exe文件:
這些都將產生一個獨立的exe。 您的安裝人員必須包含必要的CRT dll。 您的最終結果將與典型用戶的任何其他exe無法區分。
前兩個首先編譯為C,然后使用您安裝的任何編譯器將其編譯為最終的exe。 Py2Exe將Python和所有.pyo文件捆綁到一個zip中,它嵌入到exe中。 啟動時,它會解壓縮到temp目錄並從那里運行python。 您需要將您的dll添加到.spec文件中,以便它包含在zip資源中。 或者,在exe旁邊安裝你的dll並使用python中的絕對路徑加載它。
看看pyinstaller 。 它應該為您找到(並相應地發布)這些依賴項。
cx_Freeze也是一個很好的。
cx_Freeze是一組用於將Python腳本凍結為可執行文件的腳本和模塊
PyInstaller是最好的選擇,因為它在Windows和Linux上運行良好。 如果您使用的是arch linux ,請使用以下鏈接: PyInstaller或嘗試yaourt pyinstaller
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.