比virtuslenv更好用的虛擬環境pipenv

什麼是Pipenv

Pipenv是Kenneth Reitz在2017年1月發佈的Python依賴管理工具,如今由PyPA維護。你能夠把它看作是pip和virtualenv的組合體,而它基於的Pipfile則用來替代舊的依賴記錄方式(requirements.txt)。python

在這篇文章裏,我將會以舊的依賴管理工做流程做爲對比來介紹Pipenv的基本用法,更詳細的用法能夠參考Pipenv文檔,或是Kenneth Reitz在PyCon 2018的演講《Pipenv: The Future of Python Dependency Management》。shell

順便說一句,《Flask Web開發實戰》中全部示例程序都使用了Pipenv進行依賴管理。npm

提示 若是你對virtualenv的用法以及虛擬環境的概念不熟悉的話,能夠經過專欄的舊文《Flask出發之旅》進行簡單的認識。
爲何使用Pipenv
Pipenv會自動幫你管理虛擬環境和依賴文件,而且提供了一系列命令和選項來幫助你實現各類依賴和環境管理相關的操做。簡而言之,它更方便、完善和安全。你能夠經過Pipenv文檔開頭的介紹來了解它的詳細特性。Pipenv的slogan是「Python Dev Workflow for Humans」,做爲人類,固然應該嘗試一下……安全

如何使用Pipenv

假設咱們要編寫一個博客程序,項目的依賴是Flask和Flask-WTF。順便說一句,可使用下面的命令安裝Pipenv:app

$ pip install pipenv

pipenv的優點:

之前咱們搭建虛擬環境須要學習使用virtualenv和virtualenvwrapper,在虛擬環境內管理軟件依賴包須要學習使用pip, 而有了pipenv, 前面幾個就能夠不用學了...
之前咱們須要將虛擬環境依賴包的導出爲requirements.txt, 一旦依賴包變更,就要從新導出,而pipenv會自動幫咱們生成Pipfile和Pipfile.lock, Pipfile會隨着項目,當咱們安裝時只需在Pipfile和Pipfile.lock所在的目錄下運行pipenv install工具

快速建立並進入虛擬環境

前提條件: 系統已安裝python2和python3學習

# 建立python3環境
pipenv --three 
# 建立python2環境
pipenv --two
# 在上一步新建環境的目錄下,運行此命令纔有效
pipenv shell

在虛擬環境管理依賴包

  • 安裝依賴包 yagmail requests

    pipenv install yagmail requestsui

  • 查看已安裝軟件

    pipenv graphcode

  • 刪除依賴包yagmail

    pipenv uninstall yagmailthree

  • 退出虛擬環境

    exit

擴展命令(不看也不要緊)

  • 查看虛擬環境python解釋器所在位置

    pipenv --py

查看虛擬環境所在位置

pipenv --venv
  • 使用更底層的命令pip freeze

    pipenv run pip freeze

  • 只在安裝開發階段使用的軟件包(和npm相似)

    pipenv install pytest --dev

  • 安裝Pipfile.lock的全部包(完整移植開發環境)

    pipenv sync

小結:

pipenv借鑑了npm管理包的方式, 與virtualenv和virtualenvwrapper相比, pipenv對新手要更友好一些,推薦學習~

相關文章
相關標籤/搜索