Pipenv是一个旨在将所有打包世界(bundler、composer、npm、cargo、yarn等)的精华带入Python世界的工具。Windows是一等公民,在我们的世界里。pipenv是KennethReitz的作品,可以有效地管理多个Python环境和各种包。以前我们一般使用virtualenv来搭建虚拟环境和管理python版本,但是跨平台的使用并不一致,有时总是在处理包之间的依赖关系上出现问题;以前经常用pip来进行包管理,pip就够用了。不过还是推荐pipenv,相当于virtualenv和pip的结合,功能更强大。pipenv主要有以下特点:pipenv集成了pip和virtualenv的功能,并改进了两者的一些缺陷。以前用virtualenv管理requirements.txt文件可能会有问题。Pipenv使用Pipfile和Pipfile.lock。后者存放的是包的依赖关系,查看依赖关系非常方便。各个地方都使用了哈希校验,无论安装还是卸载都非常安全,安全漏洞会自动暴露。.通过加载.env文件简化您的开发工作流程。Python2和Python3均支持,各平台命令相同。Usages$pipenvUsage:pipenv[OPTIONS]COMMAND[ARGS]...Options:--where输出项目主页信息。--venv输出虚拟环境信息。--py输出Python解释器信息。--envs输出环境变量选项。--rm删除虚拟环境。--bare最小输出。--completion输出完成(待评估)。--man显示联机帮助页。--three/--two在创建virtualenv时使用Python3/2。--pythonTEXT指定应该使用哪个版本的Pythonvirtualenv。--site-packages为virtualenv启用站点包。--version显示版本并退出。-h,--help显示此消息并退出。使用示例:使用Python3.7创建一个新项目,具体为:$pipenv--python3.7删除项目virtualenv(从当前目录推断):$pipenv--rm安装所有依赖项一个项目(包括开发):$pipenvinstall--dev创建一个包含预发布的锁文件:$pipenvlock--pre显示已安装依赖项的图表:$pipenvgraph检查已安装的依赖项是否存在安全漏洞:$pipenvcheck将本地setup.py安装到虚拟机中环境/Pipfile:$pipenvinstall-e。使用较低级别的pip命令:$pipenvrunpipfreezeCommands:check检查安全漏洞并对照Pipfile中提供的PEP508标记。clean卸载所有未在Pipfile.lock中指定的包。graph显示当前安装的依赖关系图信息。install安装提供的包并将它们添加到Pipfile,或者(如果没有给出包),安装Pipfile中的所有包。锁生成Pipfile.lock。在编辑器中打开查看给定模块。运行生成安装到virtualenv中的命令。shell在virtualenv.sync安装Pipfile中指定的所有包。lock.uninstall卸载提供的包并将其从Pipfile中删除。找到项目:$pipenv--where/Users/kennethreitz/Library/MobileDocuments/com~apple~CloudDocs/repos/kr/pipenv/test定位虚拟环境:$pipenv--venv/Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre定位Python解释器:$pipenv--py/Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre/bin/pythonInstallpackages:$pipenvinstallCreatingavirtualenvforthisproject......没有提供包,安装所有依赖项。Virtualenv位置:/Users/kennethreitz/.local/share/virtualenvs/test-EJkjoYtsInstallingdependenciesfromPipfile.lock......要激活本项目的virtualenv,运行以下命令:$pipenvshell开发过程如果在开发环境已经开发完成,如何搭建生产环境?这时候就需要用到Pipfile.lock。运行以下命令锁定当前环境的模块。它将更新Pipfile.lock文件。此文件用于生产环境,切勿对其进行编辑$pipenvlock然后只要把代码和Pipfile和Pipfile.lock放到生产环境中,运行下面的代码,就可以创建和开发环境一样的环境,Pipfile.lock记录了所有包和子依赖包的确切版本,so就是确认构建:$pipenvinstall如果你想在另一个开发环境开发,复制代码和Pipfile并运行以下命令:$pipenvinstall--dev
