Pycharm如何對python文件進(jìn)行打包
windows使用Pycharm 對python文件進(jìn)行打包
首先建立python項(xiàng)目的時(shí)候要按照標(biāo)準(zhǔn)來建設(shè)
我使用的python配置的解釋器,沒有使用python的虛擬環(huán)境,因?yàn)樘摂M環(huán)境建設(shè)出來的項(xiàng)目不是我想要的項(xiàng)目結(jié)構(gòu) ,包結(jié)構(gòu)比較多,看著不是很舒服
配置完成后 點(diǎn)擊創(chuàng)建
創(chuàng)建完成后可以自己創(chuàng)建合適包結(jié)構(gòu)
創(chuàng)建完合適的包結(jié)構(gòu)后,就可以編寫python代碼了,但要python代碼運(yùn)行開,需要配置運(yùn)行環(huán)境
環(huán)境配置調(diào)試好就可以運(yùn)行調(diào)試python代碼,代碼沒有問題,需要打包運(yùn)行測試 我只是在windows環(huán)境運(yùn)行驗(yàn)證
我使用的是pyinstaller 進(jìn)行的打包測試
首先需要先安裝pyinstaller 命令 pip install pyinstaller 安裝pyinstaller之前,需要先有python環(huán)境,同時(shí)也需要安裝 piphttps://pypi.org/project/pip/
因?yàn)槲乙呀?jīng)安裝過了 所以提示已經(jīng)安裝 (安裝可以使用cmd黑窗口,也可以使用軟件,沒有區(qū)別)
在安裝pyinstaller的同時(shí),可能會報(bào)錯(cuò),說什么pip的版本可能不匹配,建議升級 pip版本 14 更新pip版本的方法
python -m pip install --upgrade pip
查詢匹配的版本 pip -V
下面進(jìn)行打包
- -F, –onefile 打包一個(gè)單個(gè)文件,如果你的代碼都寫在一個(gè).py文件的話,可以用這個(gè),如果是多個(gè).py文件就別用
- -D, –onedir 打包多個(gè)文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,我個(gè)人比較推薦這樣,代碼易于維護(hù)
- -K, –tk 在部署時(shí)包含 TCL/TK
- -a, –ascii 不包含編碼.在支持Unicode的python版本上默認(rèn)包含所有的編碼.
- -d, –debug 產(chǎn)生debug版本的可執(zhí)行文件
- -w,–windowed,–noconsole 使用Windows子系統(tǒng)執(zhí)行.當(dāng)程序啟動(dòng)的時(shí)候不會打開命令行(只對Windows有效)
- -c,–nowindowed,–console 使用控制臺子系統(tǒng)執(zhí)行(默認(rèn))(只對Windows有效)
打包成功會出現(xiàn)下面成功的標(biāo)識
打包完成運(yùn)行時(shí),可能會出現(xiàn)找不到python模塊的問題,這時(shí)候就需要查看到底什么模塊包找不到
可以先看上面的圖片有沒有 ,沒有的話 點(diǎn)擊上面圖片偏左下角的加號
輸入需要的模塊包,進(jìn)行安裝, 因?yàn)閲鴥?nèi)有好幾個(gè)鏡像存儲庫,模塊包的情況可能會不一樣
存儲庫可以進(jìn)行添加和刪除
如果通過界面安裝失敗, 也可以通過命令進(jìn)行安裝
首先需要查看模塊包是否存在在環(huán)境的包路徑下 命令 pip show 模塊名稱
如果包存在就會顯示上面一樣 ,
下面是我查詢一個(gè)根本不存在的包
沒有包的需要命令安裝,安裝之前需要先下載包 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
因?yàn)槭莈xe文件 所以可以雙擊運(yùn)行,但是運(yùn)行會存在黑窗口,如果被人誤關(guān)掉,進(jìn)程就不會存在
所以需要后臺啟動(dòng),這樣就不會存在,誤操作的失誤,這樣進(jìn)程想要結(jié)束的話,可以通過任務(wù)管理器來執(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é)尾的文件,是屬于后臺啟動(dòng)的,但是vbs的文件依賴bat文件
所這些文件最好在同一級目錄下面
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python如何為被裝飾的函數(shù)保留元數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python如何為被裝飾的函數(shù)保留元數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Python字典中的鍵映射多個(gè)值的方法(列表或者集合)
今天小編就為大家分享一篇Python字典中的鍵映射多個(gè)值的方法(列表或者集合),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10基于OpenCV的直方圖匹配的實(shí)現(xiàn)方法
這篇文章主要介紹了基于OpenCV的直方圖匹配的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04利用Python實(shí)現(xiàn)眨眼計(jì)數(shù)器的示例代碼
這篇文章主要介紹了如何使用Python語言實(shí)現(xiàn)對視頻中的人物的眨眼進(jìn)行計(jì)數(shù)并描繪在圖表中,文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的可以動(dòng)手試一試2022-02-02Python裝飾器的應(yīng)用場景及實(shí)例用法
在本篇內(nèi)容里小編給大家整理了一篇關(guān)于Python裝飾器的應(yīng)用場景及實(shí)例用法,有興趣的朋友們可以學(xué)習(xí)下。2021-04-04