返回信息流求助:
本机是win10
64位机器
python版本是3.8
打包生成的程序在64位其他电脑和32位其他电脑都不能使用。
是怎么回事,用的pyinstaller
这是一条镜像帖。来源:北邮人论坛 / python / #25810同步于 2021/10/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【求助】pyinstaller生成的exe文件在其他电脑应用问题
robotup
2021/10/15镜像同步33 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
就是打不开,没有报错信息。之前有一个缺dll后来打进去了,本机可以运行。
依赖包怎么看是缺哪个呢?
【 在 chuanshanjia 的大作中提到: 】
: 不能使用是啥,具体有什么报错信息?
不好意思哈,
后来我这边按照csdn上的方法,搞了一个32位的环境,打包一下,在本机上可以用,但是分辨率变得异常。窗口也乱掉了。
但64的装Python的另一台机器也可以用,正常了。另外一台不装python的,反而不行。
我估计也是依赖包的问题,没有打包进去,怎么才能知道是不是打全了呢?
【 在 paopjian 的大作中提到: 】
: 提问的艺术
问题签名:
问题事件名称: APPCRASH
应用程序名: getAstock-1.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 61062592
故障模块名称: python39.dll
故障模块版本: 3.9.6150.1013
故障模块时间戳: 60d9ead7
异常代码: c0000005
异常偏移: 00000000000a4753
OS 版本: 6.1.7601.2.1.0.256.48
区域设置 ID: 2052
其他信息 1: 6b80
其他信息 2: 6b804250f3209c5a94ba0ca957eccd17
其他信息 3: f836
其他信息 4: f836e727352fd12ca985587636a2909c
联机阅读隐私声明:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804
如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
C:\Windows\system32\zh-CN\erofflps.txt
如果你能够给出最小可复现样例,那请给出;
如果不能,建议使用二分法排除依赖问题;
Python原生扩展一直是个问题,在Windows下尤其如此;
当然了其实其他依赖原生扩展的语言也是一样的,而且只会更加严重,只不过Python火,问题突出而已;
但是如果你用了pyinstaller这样不管理项目粒度、且没有清查文件系统依赖、也没有设置虚拟环境隔离依赖的话,那就难救了;
另外提一句,你没有附上无法运行的Windows版本,但是我点开链接,发现的是Windows 7的隐私声明。Python 3.9是不支持Windows 7的(好好看看你的dll的名字是什么?
除了降级以外,还得再说一句:pyinstaller就是在第一次运行时给你装上一个Python而已,是很慢的。建议看看PyOxidizer,这个是Rust生态的工具链,用的Python stub是用Rust实现的,对于依赖的追踪会更加合适