 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 年前3 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 年前3
 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3
 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3
 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3 Python 标准库参考指南 2.7.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.12 其他内置类型 . . . . . . . . . . . . 677 17 Interprocess Communication and Networking 679 17.1 subprocess —子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 17.2 socket —底层网络接口 support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 20.3 cgitb —用于 CGI 脚本的回溯管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 20.4 wsgiref —WSGI Utilities0 码力 | 1552 页 | 7.42 MB | 9 月前3
 Python 标准库参考指南 3.10.15 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.12 类型注解的类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 15.3.1 随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 16.1.7 进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 16.1.80 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.12 类型注解的类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 15.3.1 随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 16.1.7 进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 16.1.80 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.11.10 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.12 类型注解的类型 . . . . . . . . . . 496 12.5.1 dbm.gnu --- GNU 数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 12.5.2 dbm.ndbm --- 新数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 15.3.1 随机数 . . . . . . .0 码力 | 2399 页 | 11.19 MB | 9 月前3 Python 标准库参考指南 3.11.10 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.12 类型注解的类型 . . . . . . . . . . 496 12.5.1 dbm.gnu --- GNU 数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 12.5.2 dbm.ndbm --- 新数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 15.3.1 随机数 . . . . . . .0 码力 | 2399 页 | 11.19 MB | 9 月前3
 Python 标准库参考指南 3.7.13 dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.12 其他内置类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . 480 16 通用操作系统服务 483 16.1 os --- 操作系统接口模块 . futures --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 17.5 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724 17.6 sched --- 事件调度器 .0 码力 | 1846 页 | 9.09 MB | 9 月前3 Python 标准库参考指南 3.7.13 dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.12 其他内置类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . 480 16 通用操作系统服务 483 16.1 os --- 操作系统接口模块 . futures --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 17.5 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724 17.6 sched --- 事件调度器 .0 码力 | 1846 页 | 9.09 MB | 9 月前3
 Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.12 其他内置类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 16 通用操作系统服务 513 16.1 os --- 操作系统接口模块 --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762 17.5 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 17.6 sched --- 事件调度器0 码力 | 1961 页 | 9.14 MB | 9 月前3 Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.12 其他内置类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 16 通用操作系统服务 513 16.1 os --- 操作系统接口模块 --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762 17.5 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 17.6 sched --- 事件调度器0 码力 | 1961 页 | 9.14 MB | 9 月前3
 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.12 其他内置类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 16 通用操作系统服务 551 16.1 os --- --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 17.6 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 17.7 sched --- 事件调度器0 码力 | 2052 页 | 9.74 MB | 9 月前3 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.12 其他内置类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 16 通用操作系统服务 551 16.1 os --- --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 17.6 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 17.7 sched --- 事件调度器0 码力 | 2052 页 | 9.74 MB | 9 月前3
 Python 标准库参考指南 3.8.20 dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.12 其他内置类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 16 通用操作系统服务 513 16.1 os --- 多种操作系统接口 futures --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 17.6 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764 17.7 sched --- 事件调度器 .0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.12 其他内置类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 16 通用操作系统服务 513 16.1 os --- 多种操作系统接口 futures --- 启动并行任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 17.6 subprocess --- 子进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764 17.7 sched --- 事件调度器 .0 码力 | 1927 页 | 9.69 MB | 9 月前3
共 127 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13














 
 