首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pipenv 快速上手

做过 Python Web 项目的伙伴可能都有体会,每次新建一个项目,自己得手动建一个虚拟环境,把包装好了之后,还得自己把装的包导入到文件中,方便部署。时间久了之后,感觉重复劳动太多,应该改变一下了,这不就找到 Pipenv 了。

Pipenv 是 Kenneth Reitz 开发的又一个 for Humans 项目,于 2017 年 1 月份创建,仅仅用了一年左右的时间便成了官方推荐工具。Kenneth Reitz,作为一个 Python 开发者应该都知道吧,不知道可以去面壁了,哈哈。就算你不知道他,你也一定用过他的一个库 requests/requests,它写的库基本上都有 for Humans 标签,用起来,也确实像标签说的那样,简单好用。

Pipenv 个人觉得主要解决了下面几个麻烦事:

(1)整合了 pip 和 virtualenv,现在不必将这两个工具分开使用了

(2)不用自己新建 virtualenv 了

(3)不用自己导出包依赖到 requirements.txt 了

1 安装

如果是 Mac 的话,直接

就搞定了。如果没有 Python 它会自动给你安装好。

其它平台的话,首先确保你有安装 Python,才能安装 Pipenv。如果没装的话,可以自己去百度/谷歌/官网寻找安装方法。

如果你之前装过 pip,可以使用如下命令将 Pipenv 装到你的用户目录

如果之前没装过 pip 的话,可以使用下面的命令,简单粗暴

然后看下是否安装成功,终端执行

看来已经 OK,如果你的提示命令不存在之类的问题,说明没有安装成功,可以去看看官网的安装文档。

好了,下面我们来说说 Pipenv 的简单使用。便于说明,我们打算新建一个基于 Flask 的 hello_world 应用并运行起来。

2 开始

Pipenv 的虚拟环境是基于项目的,一个项目便会创建一个虚拟环境,不过没问题,我们之前开发也是这样的啊。

创建项目文件夹

好,我们现在准备创建一个 Python 3.6.0 的虚拟环境

等待一小会儿就安装成功了。

看下虚拟环境在什么目录

看下当前目录多了什么文件

看下它的内容

其中,[[source]] 小节记录安装源信息,[packages] 记录依赖包信息,[dev-packages] 记录开发依赖包信息,[requires] 记录依赖的环境信息,这里要求 Python 版本必须等于 3.6。

好了,我们安装一个包试试

执行成功后,Pipfile 会在 [packages] 小节下会添加一行 requests 信息

同时生成一个 Pipfile.lock 文件,该文件记录了安装包的具体版本。线上部署时执行命令

会自动给你生成相应的虚拟环境并安装 Pipfile.lock 中的包,线上环境和开发环境的包的版本可以达到完全一致。

如果没有 Pipfile.lock,会根据 Pipfile 生成虚拟环境(如果没有的话)并安装相应的包。

如果两个文件都没有的话,会生成一个默认的虚拟环境与两个带默认信息的 Pipfile 和 Pipfile.lock 文件。

这里我们删除 requests 包

安装 Flask

安装好后,我们可以看下包的依赖信息

3 编写代码并执行应用

新建文件 hello_world/main.py

终端激活虚拟环境

然后运行应用

访问 ,看到 Hello, World! 信息,搞定。

终端如果要退出虚拟环境,执行如下命令即可。

4 其它常用命令或选项

pipenv run 执行当前项目对应的虚拟环境中的已安装的脚本

如果需要调用虚拟环境中的 pip 命令,除了使用 pipenv shell 进入环境执行以外,也可以使用 pipenv run。比如

--where 当前项目路径

--py 当前项目的虚拟环境的解释器所在路径

--rm 删除当前项目的虚拟环境目录

-h 帮助,查看可用的命令以及选项介绍

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728G05RR200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券