這裡記錄一下,使用pip/virtualenv和pipenv 不同操作所需的指令比較。
新建虛擬環境
virtualenv | pipenv |
---|---|
|
|
virtualenv 註解: 這裡的venv是虛擬環境目錄的名稱,可以自由更改,這會在你的專案根目錄創建一個venv資料夾,其中包含獨立的Python解譯器環境。
pipenv註解: 而pipenv會自動為建立虛擬環境,並且隨機產生一個的虛擬環境的目錄名稱。
啟動虛擬環境
virtualenv | pipenv |
---|---|
[Windows]:
|
|
安裝package到虛擬環境
virtualenv | pipenv |
---|---|
Step1: Step2:
|
|
當你使用pipenv時,不管是否啟動了虛擬環境,都可以透過pipenv install命令安裝套件。如果目前的目錄不包含虛擬環境,pipenv會自動創建一個。
記錄requirements
virtualenv | pipenv |
---|---|
|
|
virtualenv 註解: 這個指令會把依賴列表寫入requirements.txt文件。每當你安裝或卸載了依賴包時,都需要手動更新這個檔。
pipenv註解: 使用pipenv時,什麼都不必做。它會自動建立pipfile 和pipfile.lock檔(如果不存在),並且在你使用pipenv install/uninstall指令,安裝和卸載套件時,自動更新pipfile 和pipfile.lock檔。pipfile用來記錄專案相關套件清單,而pipfile.lock記錄了固定版本的詳細相關套件列表。
在部署環境安裝依賴
當我們需要在一個新的環境,比如部署上線環境時。virtualenv需要重複上面的指令。
virtualenv | pipenv |
---|---|
Step1: Step2: Step3:
|
|
區分開發版本的相關依賴
virtualenv | pipenv |
---|---|
|
|
virtualenv 註解: 使用requirements.txt時,我們會另外建立一個requirements-dev.txt文件來手動加入開發的依賴。比如專案開發時才會用到pytest,那麼你需要手動創建這個檔,然後寫入。
pipenv註解: 使用pipenv時,你只需要在安裝pytest時添加一個–dev選項,它會自動被分類為開發依賴(寫入pipfile的dev-packages一節中)。
在新的開發環境安裝依賴時,你可以安裝指定檔案中的依賴
virtualenv | pipenv |
---|---|
|
|