python包管理工具pipenv的使用

1. 简介

Pipenv,它的项目简介为 Python Development Workflow for Humans,是 Python 著名的 requests 库作者 kennethreitz 写的一个包管理工具,它可以为我们的项目自动创建和管理虚拟环境并非常方便地管理 Python 包,现在它也已经是 Python 官方推荐的包管理工具。 Pipenv 我们可以简单理解为 pipvirtualenv 的集合体,它可以为我们的项目自动创建和管理一个虚拟环境。virtualenv 在使用时我们需要手动创建一个虚拟环境然后激活,Pipenv 会自动创建。另外我们之前可能使用 requirements.txt 文件来标识项目所需要的依赖,但是这样会带来一些问题,如有的 requirements.txt 中只是将库名列出来了,没有严格指定版本号,这样就可能会导致不同时间安装的库版本是不同的,如 requirements.txt 文件中对 Django 的依赖只写了一个 django,可能在 2016 年的时候运行安装会安装 Django 的 1.x 版本,到了 2017 年就会安装 Django 的 2.x 版本,所以可能导致一些麻烦。为了解决这个问题,Pipenv 直接弃用了 requirements.txt,会同时它会使用一个叫做 PipfilePipfile.lock 的文件来管理项目所需的依赖包,而不再是简单地使用 requirements.txt 文件来记录项目所需要的依赖。 总的来说,Pipenv 可以解决如下问题: 我们不需要再手动创建虚拟环境,Pipenv 会自动为我们创建,它会在某个特定的位置创建一个 virtualenv 环境,然后调用 pipenv shell 命令切换到虚拟环境。 使用 requirements.txt 可能会导致一些问题,所以 Pipenv 使用 PipfilePipfile.lock 来替代之,而且 Pipfile 如果不存在的话会自动创建,而且在安装、升级、移除依赖包的时候会自动更新 PipfilePipfile.lock 文件。 广泛使用 Hash 校验,保证安全性。 可以更清晰地查看 Python 包及其关系,调用 pipenv graph 即可呈现,结果简单明了。 可通过自动加载 .env 读取环境变量,简化开发流程。 pipenv是pip的升级版,超好用,是requests作者K神搞出来的,就是一个字,真TaM香!

2. 使用

第一步:【配置解释器】

pycharm打开项目后在settings中给项目配置本地解释器环境

第二步:【安装pipenv】

直接在底部打开命令行,会自动就切入项目内部,或者打开cmd命令窗口,然后自己cd到项目根目录,如果之前没有用过pipenv,就直接:
pip install pipenv
检查是否成功:
pipenv --version

第三步:【创建虚拟环境、安装依赖包】

  • 情况一:你拿来的项目一般自带Pipfile.pyPipfile.lock,这个就是pipenv的强大之处所在,每一次安装卸载模块、项目解释器、源信息等,会自动的动态记录在这里面,项目如果有这两个文件,在命令行中切入到Pipfile.py所在目录执行,比如下图就要切入src/wibot:(如果你在主目录的话看不到Pipfile.py,创建出来的环境里面没有模块)

  • 情况二:新建项目没有Pipfile.py等文件,直接install后会自动生成的,只是空的而已,然后你安装什么模块时他会自动更新记录

pipenv install 即可完成虚拟环境创建、安装所有需要的依赖,超强大,贼好用 查看所有安装模块 pipenv graph 他会在C:\Users\13154.virtualenvs(也可以自定义,网上有教程)里面自动为项目创建一个虚拟的包管理文件 其中包含隔离的Python解释器环境,并且安装pip、wheel、setuptools等基本的包

第四步:【下载模块】

以后就不要再使用pip,忘记他记好了,使用pipenv 来代替pip,命令格式相似 eg:pipenv install pymysql

第五步:【启动项目】

  • 方式一:因为使用了pipenv,所以不要再使用pip启动,使用它你就找不到pipenv安装的一系列模块,我们直接使用pipenv启动:
eg: pipenv run python robot_run.py
  • 方式二:鼠标右键启动、顶部绿色小三角启动(pycharm默认是使用pip的,不能直接用需要自定义,,设置好后就可以快捷启动了)
注意事项: 1.你使用pipenv安装的包,pycharm可能识别不了,就会飘红,不影响运行 2.settings中的解释器环境可以全程使用自己的本地真实环境,不用切换到pipenv创建的虚拟环境,你使用pipenv命令启动就好
posted @ 2021-08-03 15:35  27岁的太阳  阅读(178)  评论(0编辑  收藏  举报