Pipenv,它的項目簡介爲 Python Development Workflow for Humans,是 Python 著名的 requests 庫做者 kennethreitz 寫的一個包管理工具,它能夠爲咱們的項目自動建立和管理虛擬環境並不是常方便地管理 Python 包,咱們能夠簡單理解爲 pip、Pipfile 和 virtualenv 的集合體,它能夠爲咱們的項目自動建立和管理一個虛擬環境。如今它也已是 Python 官方推薦的包管理工具。python
總的來講,Pipenv 能夠解決以下問題:linux
首先請確保安裝了python和對應的pip。算法
$ pip install pipenv
$ pipenv --venv
設置環境變量PIPENV_VENV_IN_PROJECT=1shell
linux系統中可在.bash_profile或.bashrc中加入flask
export PIPENV_VENV_IN_PROJECT=1
windows系統就要在 控制面板 -> 系統 -> 高級系統設置 -> 高級 -> 環境變量 中添加。windows
# 以當前系統安裝的python版本爲基礎建立虛擬環境 # 先進入項目目錄 $ pipenv install # 下面的命令不推薦使用,由於這些命令並不能自動下載安裝相應版本的python,而是在系統中尋找已有的python # 建立python3的虛擬環境 $ pipenv --three # 建立python2的虛擬環境 $ pipenv --two # 建立具體版本的虛擬環境 $ pipenv --python 3.7
建立虛擬環境後,會在項目目錄下生成兩個文件Pipfile和Pipfile.lock。這兩個文件是pipenv包的配置文件,代替virsualenv的requirement.txt文件。安全
使用版本管理工具進行項目提交時,可將Pipfile文件和Pipfile.lock文件一併提交,待其餘開發克隆下載,根據此Pipfile運行命令pipenv install生成本身的虛擬環境。bash
Pipfile.lock文件是經過hash算法將包的名稱和版本,以及依賴關係生成哈希值,能夠保證包的完成性。工具
相似使用visualenv時的activateui
$ pipenv shell
$ pipenv --rm
$ pipenv --venv
$ pipenv graph
$ pipenv install flask
# 卸載具體模塊包 $ pipenv uninstall flask # 卸載全部模塊包 $ pipenv uninstall --all
$ pipenv sync