一、虛擬環境介紹
- 主要工具virtualenv和pipenv
- 為給不同的工程創建互相獨立的工程
- 每個功能都有自己的依賴包,與工程無關
- 虛擬環境中同一個包可以有不同的版本
- 虛擬環境的數量沒有限制
二、virtualenv的安裝和應用
環境安裝(windows)
- pip 安裝 virtualenv
- pip 安裝虛擬環境管理包 virtualenvwrapper-win
- 創建一個存放虛擬環境的家目錄(建議命名.env或.virtualenv)
- 配置環境變量(變量名:WORK_HOME,路徑是創建的虛擬環境家目錄)
virtualenv的使用命令
- workon : 列出所有的虛擬環境
- workon [name] : 進入指定的虛擬環境
- deactivate :退出當前的虛擬環境
- mkvirtualenv [name] : 創建虛擬環境
- rmvirtualenv [name] : 傳出虛擬環境
- 安裝第三方庫 :進入虛擬環境 pip install
requirements.txt 文件
-
requirements.txt文件,里面會記錄當前項目的所有依賴包及版本號,其作用是用來在另一個環境上重新構建項目所需要的運行環境依賴
-
導出當前環境的requirements.txt
- 項目在虛擬環境中就導出虛擬環境的配置
- 項目在本地環境也可以導出本地環境的配置
- pip freeze >requirements.txt
-
使用requirements.txt恢復環境
- 項目在虛擬環境中就安裝到虛擬環境里
- 項目在本地環境中就安裝到本地環境里
- 將文件導入到新項中執行命令
- pip install -r requirements.txt
三、pipenv的安裝和應用
安裝 pip install pipenv
pipenv 集成了pip,virtualenv兩者的功能,pipenv使用pipfile和pipfile.lock記錄包信息,前者用來記錄項目依賴包列表,后者記錄固定版本的詳細依賴包列表,查看依賴關系十分方便,各個地方使用了哈希效驗,無論安裝還是卸載包都十分安全
創建虛擬環境
- 第一步撞見文件夾 mkdir [name]
- 第二步進入文件夾 cd [name]
- 第三部初始化虛擬環境 pipenv install
- 初始化后會生成pipfile和pipfile.locke文件
pipenv管理模塊和包
- 在虛擬環境中安裝包:pipenv install 包名 將包安裝在[packages]下(注意:當前項目路徑下執行命令)
- pipenv install --dev 包名 將包安裝在開發環境中[dev-packages]
- 卸載虛擬環境安裝包 pipenv uninstall 包名
- 查看安裝包及依賴關系 pipenv graph
- 生成requirements.txt文件
- pipenv lock -r >requirements.txt 來源[packages]
- pipenv lock-r--dev >requirements.txt 來源[dev-packages]
- pipenv lock -r >requirements.txt 來源[packages]
- 使用requirements.txt恢復環境
- pipenv install -r requirements.txt
- 使用pipfile和pipfile.lock恢復環境
- 將兩個文件導入到新的項目中,在項目路徑下執行
- pipenv install 項目環境恢復
- pipenv install --dev 開發環境恢復
pipenv的相關命令
- pipenv --rm 刪除虛擬環境
- pipenv --where 列出當前工程路徑
- pipenv --venv 列出虛擬環境路徑
- pipenv --py 列出python解釋器路徑
- pipenv graph 查看依賴包
- pipenv lock 生存lock文件
- pipenv shell 進入虛擬環境
- exit 退出虛擬環境
總結
- virtualenv 任意項目都能workon創建虛擬環境; pipenv 創建的虛擬環境進去默認在該路徑下,提前做了一步鎖定,別的項目要使用該環境還要切換到項目路徑下才能使用
- virtualenv 不區別 開發依賴和項目依賴包 pipenv做了進一步區分為[dev-packages]和[packages]
- pip freeze 生成全部的依賴包的requirement.txt
- pipenv lock-r區別[dev-packages]和[packages]生成requirement.txt