08 Pipenv和Python包管理 明希Python的依赖管理及Pipenv @frostming 我是谁? • 研发效能·持续集成@Tencent • 从 2014 年开始用 Python,前测试,现开发 • 开源爱好者 • Pipenv 维护者之一 队长别开枪,是我! 目录 CONTENTS 为什么需要虚拟环境 为什么需要依赖管理 Pipenv 的简单使用 Python 包管理的未来 为什么需要虚拟环境 你是否遇到过这些问题: 你是否遇到过这些问题: • 安装了包却提示导入失败 • 我的包安装到哪了? • Python 版本升级了,原有的命令行程序全体罢工 • 对,说的就是Homebrew • 升级了某个库的版本,导致别的应用(库)挂了 • 可能需要隔离环境了 混乱的 Python 环境 Python 寻找包的机制 Python 寻找包的机制 • 到 sys.prefix 下面对应的 Lib 目录寻找包 • PYTHONPATH PYTHONPATH 增加额外搜索路径 • 所有 CLI 应用程序均隐式对应一个 Python 解释器 使用虚拟环境隔离 sys.prefix 决定寻找包的路径及安装包的路径 /usr/local/bin/python3.7 .venv/bin/python 每个环境都有不同的 sys.prefix $ python3.7 -m venv .venv 不佳实践 ❌ sudo pip install0 码力 | 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
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
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.11.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.21 KB | 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
共 150 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15













