為什麼要使用虛擬環境
在開發時可能會遇到「A 專案的 p 套件要用1.2版本」但「B 專案的 p 套件要用2.2版本」或是遇到「C 專案只需要 a, b, c 套件」而「D 專案只需要 b, d 套件」,這時若是使用虛擬環境開發就能讓開發環境維持乾淨的狀態。虛擬環境的原理
python venv 會複製基本的 python 執行檔及套件等到虛擬環境的 Lib\site-packages 資料夾下,使用虛擬環境時就是使用資料夾中的那份 python。建立虛擬環境
python3 內建就有 venv 這個參數能用來建立虛擬環境,執行:python venv venvname
venvname 是虛擬環境的名稱。
Python2 要建立虛擬環境則需要用 pip 安裝 virtualenv 套件:
pip install virtualenv
安裝後執行:
python virtualenv venvname
venvname 一樣是虛擬環境的名稱。
同時有 python 2 和 python 3
如果 windows 上遇到錯誤 "Error: [WinError 2] 系統找不到指定的檔案",可能是因為同時有 python 2 和 python 3 導致。先找出 python(2) 和 python3 的路徑:
where python
where python3
可以將 python 命名為 python2,python3 命名為 python(或其他自己可以區分2或3的命名)。
現在可以建立 python3 的虛擬環境:
python venv venvname
Python2 的安裝 virtualenv 套件:
python2 -m pip install virtualenv
-m 的參數代表使用這個 python 下的套件。當 py2 和 py3 同時存在相同名稱的套件時(比方pip),可以用 -m 來指定版本。
python2 virtualenv venvname
使用虛擬環境
執行:venvname\Scripts\activate
當命令提示字元前面帶有虛擬環境的名稱時,就表示在虛擬環境中:
(venvname) C:\Users\uname>
離開虛擬環境:
deactivate
沒有留言:
張貼留言