Python包管理工具之Pipenv
前言
传统的成熟方案中,我们为了避免包版本的管理混乱,通常我们是依赖于当前的Python版本创建一个虚拟环境,并在虚拟环境中使用pip进行包管理。现在有一个好用的工具叫pipenv来帮助我们更方便的管理包。
一、pipenv是什么以及它有什么作用?
pipenv是一个Python的包管理工具。它是requests作者Kenneth Reitz的作品,提供Python的各个版本间的管理,各种包管理。当你开始熟悉并且使用它的时候,你就知道它有点类似于前端的npm和yarn的味道。
它能自动为项目创建和管理虚拟环境。当你使用pipenv的时候,他会在项目根目录下创建Pipfile,用于记录包的版本信息。当你使用pipenv来安装包的时候,它会在项目根目录生成Pipfile.lock文件来锁定安装包的版本和依赖信息,避免构建错误。
它主要解决了以下几个问题:
不需要基于当前的Python解释器版本单独的创建使用virtualenv和pip工具。无序维护requirements.txt文件,使用Pipfile和Pipfile.lock来代替。
基本概念:
在一个新的项目根目录下执行 pipenv install,则他会自动创建一个虚拟环境,并且生成一个Pipfile文件。当 install 命令没有传递参数指定安装包,如果当前存在Pipfile,则会自动安装所有Pipfile中的[packages]中的包。
二、安装pipenv
# MacOS下
pip install pipenv
# shell命令补全
echo eval "$(pipenv --completion)"
THE END