用pyinstaller生成的exe在某些电脑上能运行,有些则不行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用pyinstaller生成的exe在某些电脑上能运行,有些则不行相关的知识,希望对你有一定的参考价值。

程序第一行是import numpy提示的错误也和numpy有关,dll load failed :找不到指定模块但是exe在自己电脑win7 32位系统上能跑,在别人win10 上也能跑但在一些刚刚装过加密软件的电脑上就报图中的错。尝试用pyinstaller打包的时候加入-p命令指定库的路径,依然没有解决问题,用depens工具查看exe依赖的dll,也没发现什么问题。求大神解答

试着说一下,不一定能解决。 1、第一种情况,在打包的时候不要加参数-w,看一下执行exe文件后出现的报错再看下一步的行动 2、应该是需要装一个VC 2015 x64,试一下 参考技术A 你好!
这是因为你的程序可能需要与某些文件搭配使用,而有的电脑没有此文件,所以导致运行错误

用win7 python3 selenium3写的脚本打包成EXE后在其他电脑上重新配置环境变量还是不能打开浏览器

用win7 64位 python3 selenium3写的脚本用pyinstaller打包成EXE后在自己电脑上能运行。放到其他电脑上重新配置环境变量还是不能打开浏览器(Firefox)。有没有解决方案?最好可以不用人工配置环境变量!
万分感谢!

用pyinstaller打包一个tkinter的exe程序

今天用pyinstaller打了个小tk程序,整理了一些小问题的解决

打包单个exe文件

-F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹。

pyinstaller -F TestDataGen.py12

打出的桌面程序去掉命令行黑框

-w 选项可以打桌面程序,去掉命令行黑框

pyinstaller -F -w TestDataGen.py12

修改程序默认图标

-i 可以设置图标路径,将图标放在根目录:

pyinstaller -F -w -i gen.ico TestDataGen.py12

如下:

修改程序左上角的’tk’图标

# ...省略部分root = Tk(className='数据生成器')
root.iconbitmap('gen.ico')  # 加图标app = App(root)
root.mainloop()12345

如下: 

替换’tk’图标后,打包的exe执行失败

原因是图标没有打进去,或者打包成文件夹,或者把图标转化成base64数据:

# 这段程序可将图标gen.ico转换成icon.py文件里的base64数据import base64
open_icon = open("gen.ico","rb")
b64str = base64.b64encode(open_icon.read())
open_icon.close()
write_data = "img = '%s'" % b64str
f = open("icon.py","w+")
f.write(write_data)
f.close()123456789

修改主程序:

# ...省略部分import base64from icon import imgimport os# 将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标tmp = open("tmp.ico","wb+")
tmp.write(base64.b64decode(img))
tmp.close()

root = Tk(className='数据生成器')
app = App(root)
root.iconbitmap('tmp.ico')  # 加图标os.remove("tmp.ico")  # 删掉临时文件root.mainloop()123456789101112131415

再执行打包命令

pyinstaller -F -w -i gen.ico TestDataGen.py

参考技术A 前来考古 同问

以上是关于用pyinstaller生成的exe在某些电脑上能运行,有些则不行的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller打包在别的电脑上无法运行?

python 使用pyinstaller生成exe

pyinstaller 打包python文件成.exe程序

用 pyinstaller、-F -w等打包方式生成 exe 后,都出现错误,是怎么回事?

用pyinstaller打包生成的文件,一旦更改图标大小就会恢复默认图标,如何解决。

用Pyinstaller把Python3.7程序打包成可执行文件exe