首頁>Club>
怎麼將寫的python指令碼打包成一個exe或者rpm包啊。最近一直找這方面的文件,發現都是隻寫的一星半點,沒有寫得全面的,有沒有詳細的打包說明,或者用別的工具打包也行。
10
回覆列表
  • 1 # 小表哥丫
    安裝pyinstaller

    這裡使用pip進行安裝,一般較高版本的python都會自帶pip的。 那麼怎麼才能知道自己安裝的python是否安裝了pip呢?

    很簡單, 對於linux系統和os系統而言: 開啟一個終端視窗,並且輸入“pip --version”,然後回車,如果輸出類似於下面這樣:“pip 18.0 from E:\python\lib\site-packages\pip (python 3.6)” 則說明安裝成功了;

    對於windows系統而言: 在終端視窗輸入“python -m pip --version”,如果看到類似上面的輸出,也說明安裝了pip的。

    要是沒有看到類似這樣的輸出呢?這就需要我們自己動手安裝pip了。

    在linux和os系統中安裝pip: 訪問https://bootstrap.pypa.io/get-pip.py,如果出現對話方塊,則儲存檔案,如果瀏覽器出現一大串程式碼,則將這下程式碼複製到文字編輯器中,再將檔案儲存為“get-pip.py”,最後在終端視窗在輸入“sudo python get-pip.py ”,然後用上面提到的方法檢查是否成功安裝。

    在windows系統中安裝pip: 類似於在linux和os中安裝,在終端視窗中輸入“python get-pip.py”,在檢查是否安裝成功。 安裝pyinstaller: 成功安裝pip之後就可以在終端視窗安裝pyinstaller了 在終端視窗中輸入:“pip install pyinstaller”即可完成安裝啦!

    開始打包

    win + r 快捷開啟命令列, 輸入“cmd”回車進入終端視窗 將當前位置轉到pyinstaller的安裝目錄下 輸入:

    “pyinstaller-F E:\python\python_work\pisa.py”

    (這裡我以pisa.py這個程式為例,這個程式是放在E:\python\python_work目錄下的,可以根據自己的情況更改) 然後回車等候一段時間 在最後一行如果看到這樣的提示:

    Building EXE from out00-EXE.toc completed successfully.

    說明成功了 倒數第二行是打包好的檔案存放的位置:

    Appending archive to EXE E:\python\Scripts\dist\pisa.exe

    最後效果如下:

    這樣就可以傳送給好友 不用編譯器也可以執行啦!

  • 2 # 軟體測試開發技術棧

    在之前文章《讓你的程式碼更好的交付,使用Python實現模組打包釋出》中,分享了測試開發工程師在進行交付時,對交付模組使用Wheel庫將其打包成.whl檔案,已達到提高交付、部署效率的目的。同時,採用統一的釋出方式,也有助於提高測試開發的規範性。

    除了可以將釋出模組打包成.whl格式的檔案,今天想針對某些小型測試工具釋出的場景,分享一種更適合的釋出方式——打包成可執行的.exe程式,這樣即使使用者在沒有Python的環境中仍然可以直接執行,進一步的降低了使用成本,提升使用效率。

    接下來就分享一下,如何使用PyInstaller庫將釋出模組打包成.exe格式檔案。

    PyInstaller安裝

    建議使用pip的方式進行安裝,否則可能會報缺失其他依賴庫的情況,需要逐個手動安裝。

    pip install PyInstallerPyInstaller使用

    如下簡單程式碼示例,其中匯入了Python內建庫——time模組和第三方庫——csv模組,實現了每次執行時,在新生成的csv檔案中寫入固定資料。

    在該模組目錄內執行如下命令,執行日誌如下:

    pyinstaller WriteFiles.py

    其中在當前目錄中可以看到生成了.uildWriteFilesWriteFiles.exe檔案

    我們執行WriteFiles.exe,可以發現在當前目錄下,新增了WriteFile_1550935956.csv檔案。

    擴充套件:PyInstaller常用引數說明-F:打包單個檔案,生成結果是一個.exe格式檔案。-D:打包多個檔案,生成結果是一個目錄,包含第三方依賴、資源、.exe檔案等,適合以框架形式編寫工具模組,預設引數。-c:使用Windows控制檯子系統執行,顯示命令列視窗,預設引數。-w:使用Windows子系統執行,當程式啟動的時候不會開啟命令列,編寫GUI程式時使用此引數有用。-p:指定額外的import路徑,類似於使用PYTHONPATH,多個目錄可以用路徑分割符(Windows使用分號,Linux使用冒號)。–add-data:打包額外資源,多個資源可以使用路徑分割符(Windows使用分號,Linux使用冒號)。–add-binary:打包額外的程式碼,多個程式碼可以使用路徑分割符(Windows使用分號,Linux使用冒號)。同時–add-binary新增檔案的引用檔案會一併新增進來。-i :新增.exe檔案的icon圖示。-n:編輯.exe檔案和.spec的檔名。

    我們嘗試使用其中 -F, -n 引數,只生成一個檔名為Toutiao的.exe格式檔案。我們執行如下命令,執行日誌如下:

    pyinstaller -F -n Toutiao.exe WriteFiles.py

    其中在當前目錄中生成了.distToutiao.exe檔案 ,目錄結構如下。

    除了PyInstaller模組能夠將模組打包成.exe格式的可執行程式,還可以瞭解下pyexe模組,它也可以實現相同效果的打包,這裡就不做單獨的介紹了。

  • 中秋節和大豐收的關聯?
  • 我的ps4出故障了,怎麼辦?