在 Python Embeded Package 中添加 pip
通过 get-pip.py 获取 pip:
1curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2./python get-pip.py如果使用早期的的 Python 版本,get-pip.py 可能不兼容,则需要使用兼容的版本,例如:
通过 get-pip.py 获取 pip:
1curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2./python get-pip.py如果使用早期的的 Python 版本,get-pip.py 可能不兼容,则需要使用兼容的版本,例如:
| 版本 | 说明 | 32-bit 安装包 | 64-bit 安装包 | 32-bit 压缩包 | 64-bit 压缩包 |
| 3.10 | 引入 match | 下载 | 下载 | 下载 | 下载 |
| 3.8 | 支持 Windows 7 的最后一个版本 | 下载 | 下载 | 下载 | 下载 |
| 3.6 | 引入 f-string | 下载 | 下载 | 下载 | 下载 |
| 3.4 | 引入 async,支持 Windows XP 的最后版本 | 下载 | 下载 | ||
| 2.7 | Python 2 的最后一个版本 | 下载 | 下载 |
各种支持 DBus 的开发框架都能够通过 XML 自动生成代码,例如 Glib 的 gdbus-codegen 和 Qt 的 qdbusxml2cpp。
通过 DBus 对象 org.freedesktop.DBus.Introspectable 接口下的 Introspect 方法可以自省 XML,这样就不需要手写了。
但是 d-feet、dbus-send 等工具会给返回值加上类型标注或者换行符导致需要人工修改。因此需要自己写一个脚本来自省 DBus。
使用示例:
因为不同的项目之间可能存在依赖冲突,因此需要使用虚拟环境,避免在全局环境上安装依赖。
通过 pipreqs 可以将当前项目依赖的所有包导出到 requirements.txt 中:
1$ pipreqs . --encoding=utf8 --force Python 的异步 I/O 基于协程实现。使用async关键字来创建一个异步函数,对异步函数的调用不会执行该函数,而是生成一个协程对象。
对每一个协程对象,都必须等待其结束(即使是没有启动的协程),否则会产生一个RuntimeWarning。
示例 :
1# 创建一个异步函数
2async def say_hello():