Pycharm如何對python文件進行打包
windows使用Pycharm 對python文件進行打包
首先建立python項目的時候要按照標準來建設
我使用的python配置的解釋器,沒有使用python的虛擬環(huán)境,因為虛擬環(huán)境建設出來的項目不是我想要的項目結(jié)構(gòu) ,包結(jié)構(gòu)比較多,看著不是很舒服
配置完成后 點擊創(chuàng)建
創(chuàng)建完成后可以自己創(chuàng)建合適包結(jié)構(gòu)
創(chuàng)建完合適的包結(jié)構(gòu)后,就可以編寫python代碼了,但要python代碼運行開,需要配置運行環(huán)境
環(huán)境配置調(diào)試好就可以運行調(diào)試python代碼,代碼沒有問題,需要打包運行測試 我只是在windows環(huán)境運行驗證
我使用的是pyinstaller 進行的打包測試
首先需要先安裝pyinstaller 命令 pip install pyinstaller 安裝pyinstaller之前,需要先有python環(huán)境,同時也需要安裝 piphttps://pypi.org/project/pip/
因為我已經(jīng)安裝過了 所以提示已經(jīng)安裝 (安裝可以使用cmd黑窗口,也可以使用軟件,沒有區(qū)別)
在安裝pyinstaller的同時,可能會報錯,說什么pip的版本可能不匹配,建議升級 pip版本 14 更新pip版本的方法
python -m pip install --upgrade pip
查詢匹配的版本 pip -V
下面進行打包
- -F, –onefile 打包一個單個文件,如果你的代碼都寫在一個.py文件的話,可以用這個,如果是多個.py文件就別用
- -D, –onedir 打包多個文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,我個人比較推薦這樣,代碼易于維護
- -K, –tk 在部署時包含 TCL/TK
- -a, –ascii 不包含編碼.在支持Unicode的python版本上默認包含所有的編碼.
- -d, –debug 產(chǎn)生debug版本的可執(zhí)行文件
- -w,–windowed,–noconsole 使用Windows子系統(tǒng)執(zhí)行.當程序啟動的時候不會打開命令行(只對Windows有效)
- -c,–nowindowed,–console 使用控制臺子系統(tǒng)執(zhí)行(默認)(只對Windows有效)
打包成功會出現(xiàn)下面成功的標識
打包完成運行時,可能會出現(xiàn)找不到python模塊的問題,這時候就需要查看到底什么模塊包找不到
可以先看上面的圖片有沒有 ,沒有的話 點擊上面圖片偏左下角的加號
輸入需要的模塊包,進行安裝, 因為國內(nèi)有好幾個鏡像存儲庫,模塊包的情況可能會不一樣
存儲庫可以進行添加和刪除
如果通過界面安裝失敗, 也可以通過命令進行安裝
首先需要查看模塊包是否存在在環(huán)境的包路徑下 命令 pip show 模塊名稱
如果包存在就會顯示上面一樣 ,
下面是我查詢一個根本不存在的包
沒有包的需要命令安裝,安裝之前需要先下載包 https://www.lfd.uci.edu/~gohlke/pythonlibs/
安裝命令為 安裝包 pip install -y pyinstaller pip install 包名
卸載包 例如 pip uninstall -y pyinstaller
pip uninstall -y 包名
再次打包exe文件 pyinstaller -F xxx.py
因為是exe文件 所以可以雙擊運行,但是運行會存在黑窗口,如果被人誤關(guān)掉,進程就不會存在
所以需要后臺啟動,這樣就不會存在,誤操作的失誤,這樣進程想要結(jié)束的話,可以通過任務管理器來執(zhí)行關(guān)閉
echo off D:\develop\PYCharm\PYCharmWorkSpace\test_Agent\windows\winAgent\judgeFile_and_access_to_information\dist\judg_and_get_message.exe pause
DIM objShell set objShell=wscript.createObject(“wscript.shell”) iReturn=objShell.Run(“cmd.exe /C judge_and_getMessage.bat”, 0, TRUE)
bat文件和exe雙擊效果是一樣的,vbs結(jié)尾的文件,是屬于后臺啟動的,但是vbs的文件依賴bat文件
所這些文件最好在同一級目錄下面
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python如何為被裝飾的函數(shù)保留元數(shù)據(jù)
這篇文章主要為大家詳細介紹了python如何為被裝飾的函數(shù)保留元數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03利用Python實現(xiàn)眨眼計數(shù)器的示例代碼
這篇文章主要介紹了如何使用Python語言實現(xiàn)對視頻中的人物的眨眼進行計數(shù)并描繪在圖表中,文中的實現(xiàn)步驟講解詳細,感興趣的可以動手試一試2022-02-02