我們編寫的程式可以發給其他小夥伴使用,但是其他小夥伴不一定安裝有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
電氣工程的計算機萌新:餘登武。寫博文不容易。如果你覺得本文對你有用,請點個贊支援下,謝謝。