最近 Python 环境管理从 conda 切换到了uv,找到之前用 cargo 的感觉了,真爽。
我发现 uv 可以下载独立的 Python ,非常感兴趣,因为之前经常使用 Embedded Python 打包东西。Embedded Python 只支持 Windows ,而 uv 支持 Windows/Linux/MacOS 。
同时我又遇见了一个很 amazing 的项目,叫cosmopolitan,它可以将 C/C++编译为一种叫APE的格式的文件,这种神奇的格式同时满足多种文件格式,因此它可以在大多数主流的平台上运行。
受以上两个项目启发,pyfuze 诞生了。它可以将你的 Python 项目打包,使其可以在大多数主流平台上运行。pyfuze 跨平台的逻辑是这样的:
- pyfuze APE 作为启动器,检测当前平台是 Windows 还是 Unix ,下载对应 uv
- uv 下载当前平台的 Python 以及项目依赖
- uv run 运行源代码
项目缺点是需要网络下载东西,不过你可以运行一下再打包,但这样就固定在你运行的平台了。
截至目前,pyfuze 项目已获得 25 颗星,是我获得 star 最多的一个项目。如果你也喜欢这个项目,不妨也点颗⭐:)
P.S. uv 、python 、依赖都是从国外网络环境下载的,如需在国内网络环境下运行,需使用–env 、–uv-install-script-windows 以及–uv-install-script-unix 这三个选项,后两个选项支持使用文件路径。
Leave a Reply Cancel reply