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
Django 官方教程翻译项目6. PR。 README - 5 - 本文档使用 书栈(BookStack.CN) 构建 初识 Django 初识 Django 设计模型 创建模型 享用便捷的 API 动态生成的管理页面:并非徒有其表 规划 URL 编写视图 设计模板 这只是冰山一角 Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。以下 内容简要介绍了如何使用 66. # 用 delete() 来删除一个对象。 67. >>> r.delete() 动态生成的管理页面:并非徒有其表 初识 Django - 8 - 本文档使用 书栈(BookStack.CN) 构建 当你的模型完成定义,Django 就会自动生成一个专业的生产级管理页面 - 一个可以让已认证用户 进行添加、更改和删除对象的 Web 站点。你只需简单的在 admin 站点上注册你的模型即可。 register(models.Article) 这样设计所遵循的理念是,站点编辑人员可以是你的员工、你的客户、或者就是你自己——而你大概不 会乐意去废半天劲创建一个只有内容管理功能的后台管理界面。 创建 Django 应用的典型流程是:先建立数据模型,然后搭建管理站点,尽可能快的跑起来。那样 你的团队(或者客户)就可以向网站里填充数据了。后面我们会谈到如何展示这些数据。 简洁优雅的 URL 规划对于一个高质量 Web0 码力 | 103 页 | 1.86 MB | 1 年前3
Django、Vue 和Element UI 前后端原理论述后端依赖(pipenv)创建虚拟环境:建议使用 pipenv 来创建和管理虚拟环境,以便 隔离项目的依赖和环境。 后端服务配置启动:在虚拟环境下,通过 Django 的 manage.py 启动服务,例如:python manage.py runserver。 后端创建子应用:根据项目的需要,可以创建多个子应用(app)来管理不同的功能 模块。 后端 Rest Framework:使用 Django 。 确保依赖一致性:虚拟环境通常会配合使用 Pipenv 等工具来管理项目的依赖,这样 可以确保项目在不同环境中安装相同的依赖版本,从而避免由于依赖版本不一致而引发 的错误。 提高项目可移植性:将项目的依赖放在虚拟环境中,可以使得项目在不同的计算机 或服务器上都能轻松地部署和运行,而不需要担心依赖问题。 简化依赖管理:虚拟环境可以将项目所需的依赖以及其版本信息保存在一个文件中 (例如 依赖的安装和管理更加 简单和自动化。 2、Pipenv 介绍 Pipenv 是 Python 的一个包管理工具和虚拟环境管理工具,它是为了解决 Python 项目 中依赖管理和虚拟环境创建的问题而开发的。Pipenv 结合了 pip(Python 的包管理工具) 和 virtualenv(Python 的虚拟环境管理工具)的功能,提供了更方便、更高级的包管理和 虚拟环境管理功能。 Pipenv0 码力 | 61 页 | 6.84 MB | 1 年前3
WeRoBot 1.1.0 微信公众号开发框架文档Session 修改 Handler 以使用 Session 可用的 Session Storage WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 Message Message 公共属性 TextMessage ImageMessage LinkMessage LocationMessage VoiceMessage VideoMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 62 页 | 75.61 KB | 1 年前3
WeRoBot 1.1.1 微信公众号开发框架文档Session 修改 Handler 以使用 Session 可用的 Session Storage WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 Message Message 公共属性 TextMessage ImageMessage LinkMessage LocationMessage VoiceMessage VideoMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 62 页 | 75.91 KB | 1 年前3
WeRoBot 1.9.0 微信公众号开发框架文档Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 用户标签管理 模板消息 返回码都是什么意思? 48001 – API Unauthorized Message Message 公共属性 TextMessage ImageMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 99 页 | 76.68 KB | 1 年前3
WeRoBot 1.10.0 微信公众号开发框架文档Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 用户标签管理 模板消息 返回码都是什么意思? 48001 – API Unauthorized Message Message 公共属性 TextMessage ImageMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 101 页 | 73.89 KB | 1 年前3
WeRoBot 1.12.0 微信公众号开发框架文档Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 用户标签管理 模板消息 返回码都是什么意思? 48001 – API Unauthorized Message Message 公共属性 TextMessage ImageMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 103 页 | 74.49 KB | 1 年前3
WeRoBot 1.10.1 微信公众号开发框架文档Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 用户标签管理 模板消息 返回码都是什么意思? 48001 – API Unauthorized Message Message 公共属性 TextMessage ImageMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 102 页 | 73.98 KB | 1 年前3
WeRoBot 1.13.1 微信公众号开发框架文档Session 开启/关闭 Session 修改 Handler 以使用 Session WeRoBot.Client —— 微信 API 操作类 开始开发 自定义菜单 消息管理 用户管理 账户管理 素材管理 用户标签管理 模板消息 返回码都是什么意思? 48001 – API Unauthorized Message Message 公共属性 TextMessage ImageMessage 'Hello World!' robot.config['HOST'] = '0.0.0.0' robot.config['PORT'] = 80 robot.run() 注解 你需要 root 或管理员权限才能监听 1024 以下的端口。 你可以通过传递 server 参数来手动指定使用的服务器 import werobot robot = werobot.WeRoBot(token='tokenhere') gunicorn robot:robot.wsgi 就可以了。 使用 Supervisor 管理守护进程 请注意, werobot.run 是跑在 非守护进程模式下 的——也就是说,一旦你关 闭终端,进程就会自动退出。 我们建议您使用 Supervisor [http://supervisord.org/] 来管理 WeRoBot 的进程。 配置文件样例: [program:wechat_robot]0 码力 | 105 页 | 76.25 KB | 1 年前3
共 127 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













