
楼主是 macos 的系统,用了 pyinstaller 在 mac 上打包一个比较简单的 python3.7 的项目,不含 gui,打包出来的程序是Mach-O 64-bit executable x86_64,windows 的用户并不能使用,请问如何打包才可以让 windows 的用户也能体验呢,最差的情况就只能在我 windows 的虚拟机上打包了,各位大佬有什么办法吗
1 lbp0200 2019-10-21 20:05:46 +08:00 via iPhone 让我想起了 goagent |
2 111111111111 2019-10-21 20:08:37 +08:00 via Android 如果打包出来的是二进制文件想要跨平台的话,就很为难了… |
3 cyyzero 2019-10-21 20:12:00 +08:00 via Android docker |
4 VDimos 2019-10-21 20:13:20 +08:00 via Android 用 ci 呗,有支持 windows 的 ci 吧 |
5 tomczhen 2019-10-21 20:17:31 +08:00 via Android 文档里面说得很清楚了,得在 Windows 上打包。 |
6 fannas 2019-10-21 20:27:36 +08:00 via Android docker |
7 ClericPy 2019-10-21 20:54:37 +08:00 如果真那么刚需, 用嵌入式的绿色版 Python 解释器加 shiv 来打包吧, 我打过这种倒是 https://github.com/ClericPy/distribute-python-on-windows 以前随手撸的, 不知道还能跑不能... 说白了就是解释器指望绿色版 Python, package 指望 shiv 使用 PEP 441 协议打包成一个 pyz 文件, 就酱 |
8 hushao 2019-10-21 22:26:51 +08:00 源码无关的话,直接给源码跑起来不好么,要是源码不能给的话,你折腾来折腾去还不如找一台 win 机临时打包一下,或者就用你那虚拟机,,, |
9 chih758 2019-10-21 22:37:07 +08:00 用 go 重构 |
10 chih758 2019-10-21 22:40:03 +08:00 一次获取 linux-amd64 linux-386 darwin-amd64 darwin-386 windows-amd64 windows-386 freebsd-amd64 freebsd-386 linux-arm linux-arm64 架构的二进制文件 |
11 ebingtel 2019-10-22 08:36:47 +08:00 在 windows 的 docker 镜像里面打包呗…… |
12 hkitdog 2019-10-22 09:53:21 +08:00 via iPhone @ebingtel Windows 的 docker images (windows server core)不是只能在 windows 的主行 |
14 laike9m 2019-10-22 13:23:24 +08:00 补充一个 shiv 的链接 https://github.com/linkedin/shiv |
16 wozhizui 2019-10-22 14:32:22 +08:00 pyinstaller 就是这样,在哪个环境打包,就只能在哪个环境运行。 我当时 win 的 x64 打包,x86 都不能用,最后用了个什么命令强制设置 python 环境为 32 位,然后打包后,还找了个 32 位机器测试。麻烦的很。 |