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 年前3PyWebIO v1.4.0 使用手册
input — 输入模块 函数清单 函数文档 pywebio.output — 输出模块 函数清单 输出域Scope 内容输出 其他交互 布局与样式 占位符 pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin append('Music', put_text('Drama')) # append Music, Drama to hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞 式调用,会在用户浏览 import datetime @use_scope('time', clear=True) def show_time(): put_text(datetime.now()) Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 135 页 | 7.45 MB | 1 年前3PyWebIO v1.5.1 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 144 页 | 7.46 MB | 1 年前3PyWebIO v1.5.2 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 144 页 | 7.46 MB | 1 年前3PyWebIO v1.5.0 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 144 页 | 7.46 MB | 1 年前3PyWebIO v1.6.0 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 148 页 | 7.47 MB | 1 年前3PyWebIO v1.7.1 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 151 页 | 7.47 MB | 1 年前3PyWebIO v1.6.2 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 148 页 | 7.47 MB | 1 年前3PyWebIO v1.6.3 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 150 页 | 7.47 MB | 1 年前3PyWebIO v1.7.0 使用手册
pywebio.session — 会话相关 pywebio.platform — 应用部署 Directory Deploy Application Deploy 其他 pywebio.pin — 持续性输入 Overview Pin widgets Pin utils 高级特性 使用start_server()启动多应用 与Web框架整合 基于协程的会话 第三方库生态 构建stand-alone put_widget() 来创建可以接受 put_xxx() 的自定义输出控 件。 接受 put_xxx() 调用作为参数的完整输出函数清单请见 输出函数列表 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 popup('Popup title', [ put_html('Popup Content
') 还可以作为装饰器来使用: 第一次调用 show_time 时,将会创建 time 输出域并在其中输出当前时间,之 后每次调用 show_time() ,输出域都会被新的内容覆盖。 Scope支持嵌套。会话开始时,PyWebIO应用只有一个 ROOT scope。你可以在一 个scope中创建新的scope。比如,以下代码将会创建3个scope: 以上代码将会产生如下Scope布局: ┌─ROOT0 码力 | 148 页 | 7.47 MB | 1 年前3
共 146 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15