之前我嘗試了用pipenv來管理虛擬環境,並用pipenv來建立虛擬環境打包exe.
使用pipenv建立虛擬環境解決python打包exe檔案過大的問題(附打包帶圖示,多個py檔案打包exe)
pipenv建立虛擬環境,很難更改pyhon版本,預設的python是電腦自帶的python.
而anaconda建立的虛擬環境能更改python版本。
利用虛擬環境打包exe時,如果包含一些深度學習框架,一般要求的深度學習框架版本很低,深度學習框架版本低,則配套的python版本也要低,這時如果再用pipenv則比較麻煩啦。(因為可能我們電腦自帶的Python版本很高)
深度學習框架與python對應關係見連結。
python深度學習環境支撐列表 各版本對應關係,Keras,TensorFlow,pytorch ,caffe等。
#獲取版本號
conda --version 或 conda -V
#檢查更新當前conda
conda update conda
#檢視當前存在哪些虛擬環境
conda env list 或 conda info -e
#檢視–安裝–更新–刪除包
conda list:
conda search package_name# 查詢包
conda install package_name
conda install package_name=2.6.0
conda update package_name
conda remove package_name
建立虛擬環境
conda create -n your_env_name python=X.X(2.7、3.6等)
啟用虛擬環境
#Linux
source activate your_env_name
#Windows
activate your_env_name
刪除虛擬環境
conda remove -n your_env_name --all
conda remove --name your_env_name --all
使用 conda create -n your_env_name python=X.X(2.7、3.6等),anaconda 命令建立python版本為X.X、名字為your_env_name的虛擬環境。your_env_name檔案可以在Anaconda安裝目錄envs檔案下找到。
第一步:原始資料夾,進入cmd
注意anaconda python已新增進環境變數
如果不會,檢視連結
cmd執行python程式,資料夾直接進入cmd程式
第二步:建立制定python版本的環境
conda create -n yudengwu python=3.6
點選y,自動安裝必要的包
安裝結束
第三步:啟用虛擬環境
#Linux
source activate your_env_name
#Windows
activate your_env_name
第四步:安裝打包exe和程式相關的庫
打包需要的 pyinstaller
pip install pyinstaller
安裝相關庫 如
pip install opencv-python
第五步:檢視已安裝的庫
conda list
第六步:打包exe
這裡簡單打包下,更多打包見前面給的連結 pipenv版打包。
pyinstaller -F xx.py
可以執行
之前使用pipenv打包tensorflow時出現了下列錯誤資訊
tensorflow的 ImportError: DLL load failed: 動態連結庫(DLL)初始化例程失敗
出現這種錯誤的原因是最近tensorflow安裝包不支援較老的處理器,需要安裝老版本的tensorflow
而當時pipenv對應的python版本是3.7。3.7的python版本對應的tensorflow 可不低。
這次使用的anaconda建立的虛擬環境指定的python版本是3.6。我來嘗試下,安裝tensorflow是否可以使用。
在虛擬環境下安裝低版本的tensorflow
pip install --ignore-installed --upgrade tensorflow==1.5
版本1.5可以,當我使用版本1.11.0還是出現mportError: DLL load failed: 動態連結庫(DLL)初始化例程失敗
看來合適的版本是1.5及其以下
不管怎麼說python3.6 時,TensorFlow1.5 在虛擬環境下可以用
安裝好後,測試一下:
先進入python
輸入python,然後再測試
成功意味著我們可以將深度學習模型打包成exe啦。
電氣工程的計算機萌新:餘登武。如果你覺得本文對你不錯。請點個贊支援下,謝謝。