KathyLJQ
KathyLJQ
采纳率100%
2020-03-10 16:05

pyinstaller 打包的程序在另一台电脑上报错并闪退

已采纳

用pyinstaller 打包了一个程序,里面导入了数据库,并使用了一个已经创建的库。
在另一台没有安装mysql和Python的电脑上试运行,结果报错并闪退。是什么原因呢?

是因为mysql用的是已创建的库的原因吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • slevenxulianjie slevenxulianjie 1年前

    不是太明白你的描述,你的程序里除了打包运行代码外,还打包了什么?数据库是不能打包进去的。
    不安装python的电脑上是可以运行打包完程序的;
    mysql得注意连接串配置,在目的电脑上是否能访问;
    另:**可以在命令行里运行一下exe,看有没有报错信息出来**

    点赞 评论 复制链接分享
  • qqzhuimengren PythonJavaC++go 9月前

    python打包exe,移植性并没有多好。亲历,pandas以及tkinter,真的每次搞得吐血
    另外,闪退就是报错呗,要把错误贴出来哦

    点赞 评论 复制链接分享
  • weixin_45888599 CarlGao4 1年前

    pyinstaller 在打包可执行程序时是可以添加数据库的,其中打包成一个程序和一个目录是不同的
    默认是把库打包进去,所以不管别人有没有安装python都是能正常运行的。我猜你连接数据库用的是绝对路径,要先改成相对路径(本文件夹下)再试试。
    如果打包成一个目录,就先用这一指令

    pyinstaller [你的其他参数] [你的py文件]


    如果打包成一个文件,就有些麻烦

    pyi-makespec [你的其他参数] [你的py文件]
    然后用记事本打开生成的spec文件,里面有一个datas=[],改成datas=[('[你的资源文件名,和程序放在同一目录下]'),('.')]
    最后

    pyinstaller [刚才的spec文件]

    点赞 评论 复制链接分享