08 Pipenv和Python包管理 明希
Python的依赖管理及Pipenv @frostming 我是谁? • 研发效能·持续集成@Tencent • 从 2014 年开始用 Python,前测试,现开发 • 开源爱好者 • Pipenv 维护者之一 队长别开枪,是我! 目录 CONTENTS 为什么需要虚拟环境 为什么需要依赖管理 Pipenv 的简单使用 Python 包管理的未来 为什么需要虚拟环境 你是否遇到过这些问题: • virtualenvwrapper • pew • pyenv-venv • conda • direnv • ... pip ? + 我们为什么需要依赖管理 pip 是否已经足够使用? 它的依赖管理有什么问题? 碰到这些问题,该怎么办? 依赖冲突 $ pip install celery django-celery $ pip install celery $ pip (piptools) • Poetry • 没了 可用工具 Pipenv 的简单使用 • 自动创建、管理虚拟环境,与项目绑定 • 依赖解析、锁定 • 新的requirements.txt规范,基于TOML格式 • 优美的命令行界面 Pipenv Demo Python 包管理的未来 Python 包管理的未来 PEP 517 – 与构建系统无关的配置文件格式 PEP 518 – 在指定Python构建依赖0 码力 | 24 页 | 1.24 MB | 1 年前3Python 标准库参考指南 3.8.20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.12 其他内置类型 (shallow) 和深层 (deep) 复制操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 8.11 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 8.12 reprlib --- 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 16 通用操作系统服务 551 16.1 os ---0 码力 | 2052 页 | 9.74 MB | 9 月前3Python 标准库参考指南 3.8.20
dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.12 其他内置类型 (shallow) 和深层 (deep) 复制操作 . . . . . . . . . . . . . . . . . . . . . . . . . 234 8.11 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 8.12 reprlib --- 另一种 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 16 通用操作系统服务 513 16.1 os --- 多种操作系统接口0 码力 | 1927 页 | 9.69 MB | 9 月前3Python 标准库参考指南 3.8.20
dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.12 其他内置类型 (shallow) 和深层 (deep) 复制操作 . . . . . . . . . . . . . . . . . . . . . . . . . 234 8.11 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 8.12 reprlib --- 另一种 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 16 通用操作系统服务 513 16.1 os --- 多种操作系统接口0 码力 | 1927 页 | 9.69 MB | 9 月前3PyWebIO v1.4.0 使用手册
—输入模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 pywebio.output —输出模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 pywebio.session —会话相关 support 105 Python 模块索引 107 索引 109 i ii PyWebIO, 发布 1.4.0 PyWebIO 提供了一系列命令式的交互函数来在浏览器上获取用户输入和进行输出,将浏览器变成了一个“富 文本终端”,可以用于构建简单的 Web 应用或基于浏览器的 GUI 应用。使用 PyWebIO,开发者能像编写终端 脚本一样 (基于 input 和 print 进行交互) 1.4.0 2 使用手册 CHAPTER1 特性 • 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 • 非声明式布局,布局方式简单高效 • 代码侵入性小,旧脚本代码仅需修改输入输出逻辑便可改造为 Web 服务 • 支持整合到现有的 Web 服务,目前支持与 Flask、Django、Tornado、aiohttp、FastAPI(Starlette) 框架集成 • 同时支0 码力 | 115 页 | 1.70 MB | 1 年前3Python 标准库参考指南 3.10.15
1 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.12 类型注解的类型 (shallow) 和深层 (deep) 复制操作 . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.12 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 8.12.1 PrettyPrinter 归档操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 11.10.3 查询输出终端的尺寸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 12 数据持久化 421 12.10 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.10.15
字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.12 类型注解的类型 (shallow) 和深层 (deep) 复制操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.12 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 8.12.1 PrettyPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 11.10.3 查询输出终端的尺寸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 12 数据持久化 451 120 码力 | 2207 页 | 10.45 MB | 9 月前3Python 标准库参考指南 3.12
1 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.12 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 i 4.13 类型注解的类型 浅层及深层拷贝操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 8.12 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.12.1 函数 . . . . 归档操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 11.10.3 查询输出终端的尺寸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 12 数据持久化 453 12.10 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.12
1 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.12 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 i 4.13 类型注解的类型 浅层及深层拷贝操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 8.12 pprint --- 数据美化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.12.1 函数 . . . . 归档操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 11.10.3 查询输出终端的尺寸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 12 数据持久化 453 12.10 码力 | 2253 页 | 11.81 MB | 9 月前3PyWebIO v1.4.0 使用手册
以方便地整合进现有的Web服务。非常适合快速构建对UI要求不高的应用。 特性 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 非声明式布局,布局方式简单高效 代码侵入性小,旧脚本代码仅需修改输入输出逻辑便可改造为Web服务 支持整合到现有的Web服务,目前支持与Flask、Django、Tornado、 aiohttp、 FastAPI(Starlette)框架集成 同时支持基于线程的执行模型和基于协程的执行模型 break if __name__ == '__main__': bmi() 如果没有使用PyWebIO,这只是一个非常简单的脚本,而通过使用PyWebIO提 供的输入输出函数,你可以在浏览器中与代码进行交互: 将上面代码最后一行对 bmi() 的直接调用改为使用 pywebio.start_server(bmi, port=80) 便可以在80端口提供 bmi() nloads/]. 使用手册 User’s guide 输入 输出 Run application More about PyWebIO Last but not least pywebio.input — 输入模块 函数清单 函数文档 pywebio.output — 输出模块 函数清单 输出域Scope 内容输出 其他交互 布局与样式 占位符 pywebio.session —0 码力 | 135 页 | 7.45 MB | 1 年前3
共 170 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17