網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Pyinstaller庫(kù)簡(jiǎn)介:
簡(jiǎn)單來(lái)說(shuō),就是直接將python語(yǔ)言編寫(xiě)的py程序打包為exe可執(zhí)行文件,對(duì)方不需要安裝python環(huán)境即可直接運(yùn)行。
不過(guò)Pyinstaller庫(kù)是在cmd環(huán)境下給出命令的哦!
PyInstaller 庫(kù)安裝步驟
1.一般安裝步驟:
pip install pyinstaller一般的安裝方法是在cmd命令提示符環(huán)境下輸入:
即可,但是總會(huì)有一些意外讓你的編程之路變得有(kan)趣(ke)起來(lái)……
2.出現(xiàn)pip版本問(wèn)題安裝步驟:
比如這樣(python版本為寫(xiě)文章時(shí)最新版3.7.3):
提示你需要升級(jí)pip的版本
然而按照提示輸入python -m pip install --upgrade pip打算升級(jí):
第一次然并卵……
第二次關(guān)閉cmd在打開(kāi)重新下載,竟然成功了:
于是再次嘗試重新安裝:
雖然網(wǎng)速很慢,但是成功了,所以跟著提示走還是沒(méi)問(wèn)題滴!
PyInstaller 庫(kù)常用參數(shù)
參數(shù) | 描述 |
---|---|
-h | 查看幫助 |
--clean | 清理打包過(guò)程中的臨時(shí)文件 |
-D, --onedir | 默認(rèn)值,生成dist文件夾 |
-F, --onefile | 在dist文件夾中只生成獨(dú)立的打包文件 |
-i <圖標(biāo)文件名.ico> | 指定打包程序使用的圖標(biāo)(icon)文件 |
PyInstaller 庫(kù)使用方法
1.在cmd中使用命令找到py程序所在目錄
cmd返回上一層目錄的命令是: cd.. 或 cd ..
cmd 返回上兩級(jí)目錄的命令:cd ../..
cmd進(jìn)入某個(gè)文件夾的命令:先執(zhí)行 盤(pán)符 + 冒號(hào), 進(jìn)入對(duì)應(yīng)的盤(pán)符, 如 d:
2.使用命令:pyinstaller -F <name>.py
創(chuàng)建成功后,會(huì)生成以下文件(前兩個(gè)文件夾可以直接刪掉):
dist文件夾中的exe即為我們所需要的可執(zhí)行文件,打開(kāi)試試吧!
3.除此之外,我們?cè)诖虬臅r(shí)候,還可以加個(gè)圖標(biāo)美化一下:pyinstaller -i <name>.ico -F <name>.py
補(bǔ)充:可能遇到的問(wèn)題以及解決辦法
1)打包過(guò)程找不到自己自建模塊如
ModuleNotFoundError: No module named 'core'
可以將模塊添加到datas里注意復(fù)制后的名字('core','core')最好是原名(個(gè)人經(jīng)驗(yàn))。
還可以將自己的模塊直接復(fù)制到site-packages 下面,再打包。
2)打包成功卻不能正確執(zhí)行,進(jìn)程無(wú)法阻塞,.exe一直在循環(huán)。
這是因?yàn)樵谡{(diào)用某些模塊的時(shí)候,也是進(jìn)程,而在多進(jìn)程中,你程序中的進(jìn)程不會(huì)被阻塞,而一直循環(huán)起進(jìn)程。用下面方法去解決,注意下面代碼要放在代碼最開(kāi)始在import 模塊之前。
from multiprocessing import freeze_support freeze_support()
總結(jié)
原文鏈接:https://blog.csdn.net/bluewn/article/details/97495371
相關(guān)推薦
- 2022-05-25 C語(yǔ)言三個(gè)函數(shù)的模擬實(shí)現(xiàn)詳解_C 語(yǔ)言
- 2022-12-21 Python中Turtle庫(kù)改變畫(huà)筆(海龜)方向的兩種方法總結(jié)_python
- 2022-09-20 用python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_python
- 2023-02-12 一文帶你了解Golang中reflect反射的常見(jiàn)錯(cuò)誤_Golang
- 2022-09-13 C語(yǔ)言如何實(shí)現(xiàn)翻轉(zhuǎn)字符串中的單詞_C 語(yǔ)言
- 2022-09-15 Android?Jetpack庫(kù)剖析之Lifecycle組件篇_Android
- 2024-02-26 IDEA設(shè)置字體大小
- 2022-11-13 Git如何恢復(fù)到之前版本_相關(guān)技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支