pipenv簡介
- 虛擬環境本質是一個文件,是為了適應不同的項目而存在。pipenv相當於virtualenv和pip的合體。
- 整合了 pip+virtualenv+Pipfile,能夠自動處理好包的依賴問題和虛擬環境問題,是最推薦使用的虛擬環境管理。
- 過去用virtualenv管理requirements.txt文件可能會有問題,Pipenv使用Pipfile和Pipfile.lock,后者存放包的依賴關系,查看依賴關系十分方便。
- 各個地方使用了哈希校驗,無論安裝還是卸載包都十分安全,且會自動公開安全漏洞。
- 通過加載.env文件簡化開發工作流程。
- 支持Python2 和 Python3,在各個平台的命令都是一樣的。
安裝、升級、卸載pipenv
# 安裝pipenv [root@localhost ~]# pip install pipenv
# 升級pipenv [root@localhost ~]# pip install --upgrade pipenv
# 卸載pipenv [root@localhost ~]# pip uninstall pipenv
使用pipenv
# 1.進入到項目目錄 [root@localhost ~]# cd /www/wwwroot/myproject
# 2.創建虛擬環境 [root@localhost myproject]# pipenv install [root@localhost myproject]# pipenv install --three # 使用當前系統的Python3創建環境 [root@localhost myproject]# pipenv --two # 使用python2創建環境 [root@localhost myproject]# pipenv --three # 使用python3創建環境 [root@localhost myproject]# pipenv --python 3.6 # 指定某個Python版本創建環境 [root@localhost myproject]# pipenv --python <path/to/python> # 指定某個位置的Python創建環境
# 3.激活並進入虛擬環境 [root@localhost myproject]# pipenv shell
# 4.在虛擬環境中安裝模塊,並加入到Pipfile。可以不進入虛擬環境中,直接在項目目錄下面使用pipenv安裝即可。 (myproject) [root@localhost myproject]# pipenv install requests (myproject) [root@localhost myproject]# pipenv install django==1.11 (myproject) [root@localhost myproject]# pipenv uninstall requests
# 5.運行python項目 (myproject) [root@localhost myproject]# python Main.py (myproject) [root@localhost myproject]# pipenv run python main.py
# 6.退出虛擬環境 (myproject) [root@localhost myproject]# exit
- 當運行pipenv install 命令時, pipenv 會在項目目錄下尋找Pipfile文件,如果沒有則生成一個Pipfile文件。install, uninstall和lock等命令都會生成Pipfile.lock文件。兩個文件互相配合,完成虛擬環境的管理工作。
- pipenv install 創建的虛擬環境名字格式為:項目目錄名+隨機字符串。如上面的:myproject-1qCvww8S和myproject-jyD3CuVy。在windows系統中,默認的路徑為C:\Users\Administrator\.virtualenvs\下。而在linux環境系統中,默認的路徑為:~/.local/share/virtualenvs/。如果你想在項目目錄內創建虛擬環境文件夾,可以設置環境變量PIPENV_VENV_IN_PROJECT,這時名為.venv的虛擬環境文件夾將在項目根目錄下創建。
- 創建虛擬環境時,如果要指定Python版本,可以使用--two指定python2版本;使用--three指定Python3版本;或是使用 --python 選項指定具體的版本號。
- 如果要顯示激活虛擬環境命令,使用:pipenv shell,退出虛擬環境則使用exit。當然,也可以使用pipenv run命令隱式激活虛擬環境。
常用pipenv命令
# 創建pipenv虛擬環境 [root@localhost myproject]# pipenv install [root@localhost myproject]# pipenv --two/--three
# 查看項目所在路徑 [root@localhost myproject]# pipenv --where # 查看虛擬環境所在路徑 [root@localhost myproject]# pipenv --venv # 查看虛擬環境中Python執行文件所在位置(即顯示Python解釋器信息) [root@localhost myproject]# pipenv --py
# 進入pipenv虛擬環境(未存在虛擬環境可自動創建) [root@localhost myproject]# pipenv shell
# 安裝與卸載包 (myproject) [root@localhost myproject]# pipenv install requests (myproject) [root@localhost myproject]# pipenv uninstall requests (myproject) [root@localhost myproject]# pipenv uninstall --all # 卸載全部包並從Pipfile中移除
# 查看虛擬環境內安裝的包以及包之間的依賴關系 (myproject) [root@localhost myproject]# pipenv graph
# 查找虛擬環境所有安裝包 (myproject) [root@localhost myproject]# pip list # 導出虛擬環境內所有依賴包名 (myproject) [root@localhost myproject]# pip freeze > requirements.txt # 安裝項目所依賴全部模塊 (myproject) [root@localhost myproject]# pip install -r requirements.txt
# 檢查包的安全性 (myproject) [root@localhost myproject]# pipenv check
# 生成Pipenv.lock,Pipfile.lock用來凍結軟件包名稱及其版本以及其自己的依賴關系的列表 (myproject) [root@localhost myproject]# pipenv lock
# 退出pipenv虛擬環境 (myproject) [root@localhost myproject]# exit
# 刪除pipenv當前虛擬環境 [root@localhost myproject]# pipenv --rm
https://blog.csdn.net/cckavin/article/details/100094715
https://www.cnblogs.com/hongdada/p/11014908.html
https://www.cnblogs.com/Erick-L/p/11049391.html
https://blog.csdn.net/qq_30162859/article/details/81571986