我們撰寫的程式可以發給其他小伙伴使用,但是其他小伙伴不一定安裝有python,這時候就需要用到打包啦,打包可以將程式打包成exe檔案,然后小伙伴在windows平臺里就可以運行(無需python),直接成了一款軟體,
打包一般要用到cmd命令列,要求cmd能執行python程式,
教程見鏈接:
cmd執行python程式,檔案夾直接進入cmd程式
或者在anaconda的命令列里打包,
原始打包教程,利用anaconda
見鏈接:
python打包成exe 可執行檔案 ,教程
打包出來的檔案,238M.原因是 anaconda里包含了太多我們不需要的包
建立虛擬環境打包
Pipenv 是一款管理虛擬環境的命令列軟體,簡單來講,它可以創建一個只在某個目錄下的區域 Python 環境,而這個環境是可以和全域環境脫離開的,
步驟如下:
第一步:安裝 Pipenv
安裝 Pipenv,,此處可以在anaconda的 Anaconda Powershell Prompt 下安裝
pip install pipenv
第二步:進入虛擬環境
pipenv shell
由圖中發現,進入虛擬環境前后CMD行還是有區別的,虛擬環境第二個紅色圈比第一個紅色圈,在前面多幾個英文字母

第三步:安裝依賴的庫
在虛擬環境下安裝 Pyinstaller 和你自己的腳本依賴的第三方庫
比如我的是
pipenv install pyinstaller
pipenv install opencv-python
這一部分安裝庫之前忘啦截圖,原諒,
第四步:查看安裝的庫有哪些
如果你這時候使用命令 pip list 并發現里面只有很少的庫,這就說明我們成功進入虛擬環境了

虛擬環境應該可以洗掉庫吧,指令類似pipenv uninstall 庫
第五步:打包
打包之前必須先把程式復制到cmd工程目錄下,
我的工程目錄是?C:\Users\Shineion\
打包命令有很多,如打包單一程式,多程式,帶圖示…,
最簡單的
pyinstaller -F xx.py
結果exe在工程目錄下的dist檔案里
這次只有50多M,原先的238m

exe可以運行

注意事項:下次使用虛擬環境時可以直接進入,上次在虛擬環境安裝的包仍然存在,無需重復安裝一些包
我遇到的問題是pipenv無法洗掉庫 ,使用pipenv uninstall 命令之后包還存在,,我的解決方法是洗掉虛擬環境,然后重新進來時發現之前安裝的包沒有啦,這樣我們可以進行下一次自定義安裝庫

附錄:pipenv的常見使用命令
pipenv install :創建虛擬環境
pipenv shell :進入虛擬環境(如果不存在,則創建并進入虛擬環境)
pipenv install flask: 安裝模塊
pipenv uninstall flask :卸載模塊
pipenv graph:查看模塊之間的依賴關系
pip list:查看虛擬環境所有模塊
exit() :退出虛擬環境
pip freeze > requirements.txt:匯出虛擬環境所有依賴包名
pip install -r requirements.txt :安裝專案所依賴全部模塊
pipenv uninstall --all :卸載所有包
pipenv lock:生成lockfile
pipenv --rm: 洗掉虛擬環境
pipenv run python xxx.py: 虛擬環境運行python
常用pyinstaller 命令
- -i 給應用程式添加圖示
- -F 指定打包后只生成一個exe格式的檔案
- -D –onedir 創建一個目錄,包含exe檔案,但會依賴很多檔案(默認選項)
- -c –console, –nowindowed 使用控制臺,無界面(默認)
- -w –windowed, –noconsole 使用視窗,無控制臺
- -p 添加搜索路徑
如何打包資源檔案見鏈接:
python將資源檔案一起打包進exe 講解(有算例)

電氣工程的計算機萌新:余登武,寫博文不容易,如果你覺得本文對你有用,請點個贊支持下,謝謝,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/108472.html
標籤:其他
下一篇:百度飛槳目標檢測7日打卡營
