主要是記錄乙個 用虛擬環境打包的坑, virtualenv 不如自帶的 venv 香.
最近要對乙個 tkinter 小程式打包為 exe. 畢竟業務人員是絕對不可能安裝開發環境的. 不論你怎麼說它如何強大.
當然也回顧一下流程, 通用的嘛.
首先, 安裝第三方庫 virturalenv
在 cmd 下,
pip install virtualenv
如果已經裝了, 或想重灌, 可以刪掉. pip uninstall virtualenv
然後, 建立虛擬環境
virtualenv env
這會建立env/lib/
、env/include
、env/bin
(windows系統下是env/scripts
)幾個資料夾,它們共同構成了乙個完整的python環境。在env/lib/
中有pip等工具用於安裝第三方包,它們和系統中已安裝的python互不關聯。
這裡有乙個額外引數--system-site-packages
,如果在建立虛擬環境的時候使用該引數,虛擬環境會繼承主環境的所有第三方包。如果你希望虛擬環境和主環境獨立,就不要用這個引數。操作上, 就是對檔案目錄的乙個管理而已.
要啟用建立的虛擬環境,需要執行虛擬環境其中的activate指令碼:(win 下 在 scripts 目錄下有乙個 activate.bat) 的指令碼檔案, 執行它就進入了虛擬環境了.
# cd 到 scripts 目錄下 (目錄路徑那, 鍵入 cmd 即可快速進入)
activate.bat
# 退出
deactivate.bat
非常簡單對吧. 然後就死活 環境打包失敗, 困擾了好久, 我一直以為是 打包庫的bug, 可見,解決問題最難的地方是, 一開始方向就錯了.
反覆試錯, 後來發現, 打包的時候, 在虛擬環境中, 會莫名其妙關聯到其它環境的包, 因此才想到, 肯定是 虛擬環境的問題.
反覆抓狂....
後來, 小王告訴我, 幹嘛不用 自帶的 venv 虛擬環境, 真香.
3 行命令建立及進入虛擬環境.
假設呢, 我要在我的 d 盤下建立乙個虛擬環境, 名為 my_venv.
然後進入進入到 my_venv 下的 scripts 資料夾下, 執行 activate.bat 即可.
就這 3行命令就搞定了, 不需要裝其他的包和配置啥環境變數, 是真的香.
退出虛擬環境: deactivate.bat配置虛擬環境刪除虛擬環境: 刪除資料夾即可. 最為簡單粗暴.
就是環境需要的包安裝, 通常都是寫完乙個 requirements.txt 的檔案.
pip install -r requirements.txt
當然, 乙個個地安裝也可以.
環境已好下, 生成 requirements.txt 檔案: 終端: pip freeze > ./requirements.txt 就是 ">" 這管道命令.進入專案打包 exe
這個操作是非常自然的. 安裝, 然後一行命令打包.
pip install pyinstaller
然後對專案的 main.py 所在目錄層級下, 進行打包.
pyinstaller -f -w main.py
-f 是打為乙個檔案, 在執行完後, 生成的 dist 目錄下, 有乙個 main.exe 的檔案, 拷貝到哪都可以執行.測試沒有問題了. 再打一版本.直接打呢, 會有很多檔案, 然後找到main.exe, 建立個快捷方式來訪問, 這兩種都是我經常的方式.
-w : 是執行時顯示黑視窗, 第一次會加上, 相等於是乙個 debug 版本. 沒問題再去掉.
pyinstaller -f main.py
如果有資源等, 要另外放到相應的檔案下, 這裡不上圖和操作了. 主要這篇是為了記錄採坑和記住這幾個命令, 畢竟, 網上的很多所謂答案, 都不如自己記一筆的好. Windows下使用conda建立虛擬環境
自從開始學深度學習,電腦裡安裝了很多包,而這些包之前卻經常出現互相衝突,版本不相容的問題,這是用使用虛擬環境是一種很好的解決方法。conda create n python3 python 3.5activate python3如果已經在虛擬環境中,可以直接安裝 pip install 也可以使用c...
Windows下使用conda建立虛擬環境
linux下 1 首先在所在系統中安裝anaconda。可以開啟命令列輸入conda v檢驗是否安裝以及當前conda的版本。2 conda常用的命令。1 conda list 檢視安裝了哪些包。2 conda env list 或 conda info e 檢視當前存在哪些虛擬環境 3 conda...
Conda建立不同python版本虛擬環境
第一步 conda create n your env name python x.x 2.7,3.5,3.6,第二步 可以使用conda env list檢視已經建立的虛擬環境。第三步 使用python虛擬環境 開啟名稱為your env name的python虛擬環境 linux source ...