weixin_37031040 2021-04-17 19:26 采纳率: 25%
浏览 201

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条回答 默认 最新

  • 桔子code 2021-04-17 20:59
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?