pipenv 是Python的一个模块,同时它也支持独立运行。它应用的方向是对项目的包管理,它是对 pip 和 virtualenv 的包装,让我们在项目目录中使用 pipenv 代替 pip 安装依赖包。
当我们创建了一个项目目录后,我们可以使用 pipenv 创建一个 virtualenv 隔离的Python环境。
pipenv 的所有操作都是在项目目录中完成的,项目目录中不会存python的包,依赖的python包会安装在 home 目录下的 .virtualenvs 目录中。下面是pipenv 项目初始化的过程:
$ cd pyst$ pipenv install

如果系统中安装的Python环境,pipenv 会使用默认Python版本创建 virtrualenv 环境,并在项目目录中创建两个文件 Pipfile、Pipfile.lock。这两个文件是 pipenv 用来识别项目目录与 virtualenv 目录的绑定关系。
如果需要安装其它版本的Python,在 pipenv install 时指定版本即可,可以只指定大版本,也可以精确到版本x.x.x
pipenv install 3pipenv install 3.10pipenv install 3.10.4
创建完 pipenv 环境即可使用 pipenv shell 激活 virtualenv,退出 virtualenv 直接执行 exit。如果想销毁当前的 virtualenv 环境,可以执行 pipenv --rm
pipenv --rm
当执行 pipenv --rm 时并不会删除 Pipfile、Pipfile.lock 文件,这些文件可以随着项目目录一起发布,在另一台主机上重新安装依赖。当前我们并没有创建任何依赖,当我们的项目需要安装某个包时,我们可以使用 pipenv install 代替 pip install 安装,此时的包会安装到 virtualenv 环境下,并且会同步更新 Pipfile.lock 文件。
pipenv install flaskpipenv graph

使用 pipenv install 安装完具体的包,可以使用 pipenv graph 查看当前的包的依赖。
当我们的项目目录中包含 Pipfile、Pipfile.lock 文件时,我们可以在另一台电脑上直接在项目目录中执行 pipenv install --dev 来还原python运行环境和包的依赖:
pipenv --rmpipenv install --dev

我们在本机可以使用 pipenv --rm 模拟干净的项目环境,当使用 pipenv install --dev 时所有的项目依赖都安装好了。如果需要使用 virtualenv 环境的 python 解析器或 pip 可以执行 pipenv shell。在实际项目中所有操作都可以在 pipenv 中完成而不需要单独调用 pip 安装具体的包。
参考:
https://pipenv.pypa.io/en/latest/basics/#example-pipenv-workflow
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。




