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
PyConChina2022-上海-用GitHub完成Python的全技术栈开发-卢建晖用 GitHub 完成 Python 的全技术栈开发 主讲人:卢建晖 – Microsoft Regional Cloud Advocate GitHub 程序员必备 编码是每位开发者所必备的 从入门第一步开始 为开发者配置环境是企业的重要一步 ? $ 配置 冲突 金钱 挫败 GitHub Codespaces 你的云端开发环境 一键即用,无需配置您的开发环境。 开启你的 GitHub0 码力 | 24 页 | 4.86 MB | 1 年前3
Django 官方教程翻译项目补丁 - 1 - 本文档使用 书栈(BookStack.CN) 构建 致谢 当前文档 《Django 官方教程翻译项目》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行 构建,生成于 2018-05-25。 书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以及对文档内容的生成和导出工 具。 文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认文档内容知识点是否错漏。如 识文档,欢迎分享到 书栈 (BookStack.CN) ,为知识的传承献上您的一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换 代的步伐。 文档地址:http://www.bookstack.cn/books/Django-intro-zh 书栈官网:http://www.bookstack.cn 书栈开源:https://github 书栈开源:https://github.com/TruthHun 分享,让知识传承更久远! 感谢知识的创造者,感谢知识的分享者,也感谢每一位阅读到此处的 读者,因为我们都将成为知识的传承者。 致谢 - 2 - 本文档使用 书栈(BookStack.CN) 构建 README Django-intro-zh Django 官方教程翻译项目 目前版本:1.11 官方文档目录 中文版文档 翻译进度 我也想一起翻译0 码力 | 103 页 | 1.86 MB | 1 年前3
PyWebIO v1.2.2 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github message if p < 10: return 'Too young!!' if p > 60: return 'Too old!!' 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code put_table 、 popup 、 put_widget 等函数中作为输出的一 部分, 并且,在输出后,还可以对其中的内容进行修改(比如重置或增加内 容): 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: popup('Popup title', [ put_html('Popup Content
'), 'plain html:0 码力 | 119 页 | 7.41 MB | 1 年前3
PyWebIO v1.2.3 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code put_table 、 popup 、 put_widget 等函数中作为输出的一 部分, 并且,在输出后,还可以对其中的内容进行修改(比如重置或增加内 容): 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: popup('Popup title', [ put_html('Popup Content
'), 'plain html:0 码力 | 119 页 | 7.44 MB | 1 年前3
PyWebIO v1.3.1 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code append('Music', put_text('Drama')) # append Music, Drama to hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞 式调用,会在用户浏览0 码力 | 132 页 | 7.45 MB | 1 年前3
PyWebIO v1.3.3 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code append('Music', put_text('Drama')) # append Music, Drama to hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞 式调用,会在用户浏览0 码力 | 132 页 | 7.45 MB | 1 年前3
PyWebIO v1.3.0 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code append('Music', put_text('Drama')) # append Music, Drama to hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞 式调用,会在用户浏览0 码力 | 132 页 | 7.45 MB | 1 年前3
PyWebIO v1.3.2 使用手册PyWebIO 0.3 What’s new in PyWebIO 0.2 实现文档 服务器-客户端通信协议 Command Event Indices and tables 索引 模块索引 搜索页面 Discussion and support Need help when use PyWebIO? Make a new discussion on Github Discussions [https://github return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror [https://codemirror.net/] 实现代码 风格的编辑区,只需使用 code append('Music', put_text('Drama')) # append Music, Drama to hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: 支持上下文管理器的完整函数清单请见 输出函数列表 事件回调 从上面可以看出,PyWebIO把交互分成了输入和输出两部分:输入函数为阻塞 式调用,会在用户浏览0 码力 | 132 页 | 7.45 MB | 1 年前3
PyWebIO v1.3.1 使用手册return 'Too old!!' age = input("How old are you?", type=NUMBER, validate=check_age) 当用户输入了不合法的值时,页面上的显示如下: pywebio.input.textarea() 还支持使用 Codemirror 实现代码风格的编辑区,只需使用 code 参数传入 Codemirror 支持的选项即可 (最简单的情况是直接传入 put_markdown('**Coding**')) # insert the Coding into the top of the␣ �→hobby 上下文管理器 一些接受 put_xxx() 调用作为参数的输出函数支持作为上下文管理器来使用: with put_collapse('This is title'): for i in range(4): put_text(i) put_table([ put_table([ ['Commodity', 'Price'], ['Apple', '5.5'], ['Banana', '7'], ]) 支持上下文管理器的完整函数清单请见输出函数列表 事件回调 从上面可以看出,PyWebIO 把交互分成了输入和输出两部分:输入函数为阻塞式调用,会在用户浏览器上显 示一个表单,在用户提交表单之前输入函数将不会返回;输出函数将内容实时输出至浏览器。这种交互方式0 码力 | 111 页 | 1.70 MB | 1 年前3
共 153 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













