谈一下pipenv

pipenv 都包含什么?

pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz
写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv本来都是Kenneth
Reitz的个人项目,后来贡献给了pypa组织。Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt
文件。

TOML

TOML是前GitHub CEO, Tom
Preston-Werner,于2013年创建的语言,其目标是成为一个小规模的易于使用的语义化配置文件格式。TOML被设计为可以无二义性的转换为一个哈希表(Hash
table)。TOML是大小写敏感的,必须是UTF-8编码。 注释 使用#来表示注释开始,至当前行尾结束。

I am a comment. Hear me roar. Roar.

pipfile的基本理念是:
Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。
一个项目对应一个 Pipfile,支持开发环境与正式环境区分。默认提供 default 和 development 区分。
提供版本锁支持,存为 Pipfile.lock。

入门

- 首先是安装。

首先使用pip安装Pipenv及其依赖项

pip install pipenv

然后将目录更改为包含你的Python项目的文件夹,并启动Pipenv,

cd my_project
pipenv install

这将在项目目录中创建两个新文件Pipfile和Pipfile.lock,如果项目不存在,则为项目创建一个新的虚拟环境。 如果你添加–two或–three标志到上面的最后一个命令,它分别使用Python 2或3来初始化你的项目。 否则将使用默认版本的Python。

- 管理Python依赖关系

Pipfile包含关于项目的依赖包的信息,并取代通常在Python项目中使用的requirements.txt文件。 如果你在具有requirements.txt文件的项目中启动了Pipenv,则在把它从项目中删除之前,应该使用Pipenv安装该文件中列出的所有依赖包。
要为你的项目安装Python包,请使用install关键字。 例如,

pipenv install beautifulsoup4

将安装当前版本的Beautiful Soup包。 可以使用uninstall关键字以类似的方式删除包,

pipenv uninstall beautifulsoup4

可以通过更新Pipfile.lock来冻结软件包名称及其版本,以及其依赖关系的列表。 这可以使用lock关键字完成的,

pipenv lock

如果另一个用户克隆存储库,可以添加Pipfiles到你的Git存储库,这样他们只需要在他们的系统中安装Pipenv,然后键入,

pipenv install

Pipenv会自动找到Pipfiles,创建一个新的虚拟环境并安装必要的软件包。
管理你的开发环境
通常有一些Python包只在你的开发环境中需要,而不是在你的生产环境中,例如单元测试包。 Pipenv将使用–dev标志保持两个环境分开。

 pipenv install --dev nose2

nose2,但也将其关联为只在开发环境中需要的软件包。 这很有用,因为现在,如果你要在你的生产环境中安装你的项目,
pipenv install

默认情况下不会安装nose2包。 但是,如果另一个开发人员将你的项目克隆到自己的开发环境中,他们可以使用–dev标志,

pipenv install –dev

并安装所有依赖项,包括开发包。
这里其实可以通过编辑pipfile来实现

[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true
name = "pypi"

[dev-packages]
faker = "*"
watchdog = "*"

[packages]
flask-sqlalchemy = "*"
flask-login = "*"
flask-dropzone = "*"
flask-mail = "*"
flask-moment = "*"
flask-wtf = "*"
python-dotenv = "*"
pillow = "*"
bootstrap-flask = "*"
flask = "*"
flask-whooshee = "*"
flask-avatars = "*"

在这里,执行pipenv install的话只会安装packages下包含的包,执行pipenv install -dev的话会将所有的包安装,这里就容易区分开生产环境和开发环境了。
这里还有个地方值得注意,python的官方源速度由于众所周知的原因速度往往很慢,这时候我们可以将源换到清华源来加快下载速度。我们要修改的就是 [[source]] 下的 url 。例如

阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/

用法

pipenv --three 会使用当前系统的Python3创建环境
pipenv --python 3.6 指定某一Python版本创建环境
pipenv shell 激活虚拟环境
pipenv --where 显示目录信息
pipenv --venv 显示虚拟环境信息
pipenv --py 显示Python解释器信息
pipenv check检查安全漏洞
pipenv install requests 安装相关模块并加入到Pipfile
pipenv install django==1.11 安装固定版本模块并加入到Pipfile
pipenv uninstall --all 卸载全部包并从Pipfile中移除
在pycharm中使用pipenv

使用 Pipenv 生成虚拟环境
命令行中进入项目目录,使用命令:
pipenv --python 3.6 #生成 python 3.6 版本的虚拟环境
pipenv  --three #使用系统当前的 python3 版本生成虚拟环境
pipenv --venv #显示当前虚拟环境所用的解释器位置

使用 Pycharm 连接虚拟环境
打开 Pycharm ,点击 File - settings - Project 选择你要更改的环境。然后在project Interpreter中添加之前显示出来的路径填入目录中即可。
总结:这个pipenv真的是神器,真的好用,而且对pycharm的支持也很好,强烈推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值