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 年前3Flask入门教程
是有些无关 紧要的文件不需要记录变化,我们在项目根目录创建一个 .gitignore 文件,在文件 中写入忽略文件的规则。因为文件内容比较简单,我们直接在命令使用 nano 来创 建: $ nano .gitignore 在 nano 编辑界面写入常见的可忽略文件规则: *.pyc *~ __pycache__ .DS_Store 使用 Control + O 和 Enter 键保存,然后按下 章:准备工作 10 创建虚拟环境 虚拟环境是独立于 Python 全局环境的 Python 解释器环境,使用它的好处如下: 保持全局环境的干净 指定不同的依赖版本 方便记录和管理依赖 我们将使用 Pipenv 来创建和管理虚拟环境、以及在虚拟环境中安装和卸载依赖 包。它集成了 pip 和 virtualenv,可以替代这两个工具的惯常用法。另外,它还集 成了 Pipfile,它是新的依赖记录标准,使用 进阶提示 阅读 MDN 的 《Web 入门教程》(了解 HTML、CSS、JavaScript)。 阅读短教程《Git 简明指南》。 阅读文章《Pipenv:新一代Python项目环境与依赖管理工具》或 Pipenv 官方 文档。 如果你打算开源你的程序,在项目根目录中添加一个 README.md (自述文 件)和 LICENSE (授权声明)是很有必要的。详情可以访问 Open Source0 码力 | 127 页 | 7.62 MB | 1 年前3Python 标准库参考指南 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 月前3Python 标准库参考指南 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 月前3Python 标准库参考指南 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 月前3Python 标准库参考指南 3.9.20
字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.12 GenericAlias 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 15.3.1 随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 16.1.6 进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 16.1.70 码力 | 2146 页 | 10.17 MB | 9 月前3Python 标准库参考指南 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 月前3Python 标准库参考指南 3.9.20
1 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.12 GenericAlias 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 15.3.1 随机数 . . . . . . . . . 文件和目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 16.1.6 进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 16.1.7 调度器接口0 码力 | 2015 页 | 10.12 MB | 9 月前3Python 标准库参考指南 3.10.15
1 字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.11 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.12 类型注解的类型 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 15.3.1 随机数 . . . . . . . . . 文件和目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 16.1.7 进程管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 16.1.8 调度器接口0 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.13
字典视图对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 i 4.12 上下文管理器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.13 类型注解的类型 . . . . . . . . . . . 492 12.5.2 dbm.gnu --- GNU 数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 12.5.3 dbm.ndbm --- 新数据库管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . 用于消息验证的密钥哈希 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 15.3.1 随机数 . . . . . . . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3
共 151 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16