pyinstaller打包后运行的问题

我的程序主入口是main.py,还有几个py文件,一个csv,放在根目录里。程序的作用就是对csv里面的数据作增删改查,主要是用wxPython写的。

程序中csv路径我是使用绝对路径。

我先用pyi-makespec main.py生成main.spec文件,再用pyinstaller -D -w main.spec打包。

运行没报错,但有以下问题:

1.我以为所有东西都已经打包在exe里,当我修改csv后,其实是修改我源程序路径上的csv。如果我把程序中csv路径设为相对路径再打包,exe是闪退的。

2.我把dist里面的main.exe复制到其他目录,就闪退了,这是什么原因?如果我想发给别人运行,该怎么做?

3.dist文件夹有122M,有其他办法可以实现发给别人用,且容量尽量小吗?

1.打包后所有相关的文件,比如你的程序里用到的csv文件都要和原始py文件相对路径一样,一般是在同一个目录下,所以你可以把csv拷贝到当前exe目录下。 2,如果还出现闪退,打包时不要开-w选项,用命令行启动生成的exe文件,可以看到出错信息,根据出错信息定位问题