網(wǎng)站首頁 編程語言 正文
windows使用Pycharm 對python文件進行打包
首先建立python項目的時候要按照標準來建設
我使用的python配置的解釋器,沒有使用python的虛擬環(huán)境,因為虛擬環(huán)境建設出來的項目不是我想要的項目結構 ,包結構比較多,看著不是很舒服
配置完成后 點擊創(chuàng)建
創(chuàng)建完成后可以自己創(chuàng)建合適包結構
創(chuàng)建完合適的包結構后,就可以編寫python代碼了,但要python代碼運行開,需要配置運行環(huán)境
環(huán)境配置調試好就可以運行調試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模塊的問題,這時候就需要查看到底什么模塊包找不到
可以先看上面的圖片有沒有 ,沒有的話 點擊上面圖片偏左下角的加號
輸入需要的模塊包,進行安裝, 因為國內有好幾個鏡像存儲庫,模塊包的情況可能會不一樣
存儲庫可以進行添加和刪除
如果通過界面安裝失敗, 也可以通過命令進行安裝
首先需要查看模塊包是否存在在環(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文件 所以可以雙擊運行,但是運行會存在黑窗口,如果被人誤關掉,進程就不會存在
所以需要后臺啟動,這樣就不會存在,誤操作的失誤,這樣進程想要結束的話,可以通過任務管理器來執(zhí)行關閉
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結尾的文件,是屬于后臺啟動的,但是vbs的文件依賴bat文件
所這些文件最好在同一級目錄下面
總結
原文鏈接:https://blog.csdn.net/weixin_45082972/article/details/114388237
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-12-11 React組件的使用詳細講解_React
- 2022-05-13 三分鐘搞懂react-hooks及實例代碼_React
- 2022-06-16 Go項目編寫Makefile規(guī)則文件概述_Golang
- 2023-05-07 oracle中如何保留兩位小數(shù)_oracle
- 2023-01-07 SafeList?in?Flutter?and?Dart小技巧_Android
- 2022-03-27 C語言中const,指針和引用的關系_C 語言
- 2022-10-31 Kotlin定義其他類的實現(xiàn)詳解_Android
- 2022-07-14 Python實現(xiàn)單例模式的四種方式詳解_python
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支