比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对新手要更友好一些,推荐学习~

相关文章
相关标签/搜索