【问题标题】:pyinstaller: app won't run on other computers?pyinstaller:应用程序不会在其他计算机上运行?
【发布时间】:2017-08-17 02:55:50
【问题描述】:

我使用 PyInstaller 成功地将一个非常基本的 python 程序(将一些内容打印到控制台)转换为我的 MacBook Pro 上的一个可执行文件:

当我在我的计算机上运行它时一切正常。但是,当我将其发送给朋友时,它不会运行。我尝试通过电子邮件/谷歌驱动器发送(它变成一个 TextEdit 文档)并通过 Facebook 发送它(它变成一个 .jpg 文件)。

我读到here 没有文件扩展名意味着系统不知道使用什么应用程序来打开程序。所以我有几个问题:

  1. 我需要提供什么文件扩展名才能让它运行?
  2. PyInstaller 会为 mac 程序提供文件扩展名吗? (我注意到在 Windows 上它为其提供了所需的 .exe 扩展名)

【问题讨论】:

  • 发送前压缩可执行文件怎么样?
  • 任何链接或教程可以帮助我开始使用它吗?
  • 制作压缩文件?嗯,右键 > 压缩
  • 做到了!如果您将其发布为答案,我会接受它

标签: python macos executable pyinstaller freeze


【解决方案1】:

例如,如果您将文件存档到 zip 存档中,它应该保留可执行属性。

大多数电子邮件(可能还有 Facebook)在任何文件上传时都使用病毒扫描程序,并且能够拒绝/重写您的文件,以免被视为潜在有害

【讨论】:

    【解决方案2】:

    我也遇到过这个问题,我只是使用 cv2 来读取图像。该程序在我的电脑上运行良好,在其他机器上运行良好。没有显示错误消息。后来我发现 cv2 无法从有汉字的路径中读取图像。在我的电脑图像路径中没有汉字。但是,在其他机器图像路径中有汉字。读取图像后,如果是None,我只是从函数中返回,这导致没有错误消息并且程序没有以正确的方式运行。

    综上所述,如果你遇到这种情况并且没有弹出错误信息,你应该考虑一下两台机器的环境(文件路径、外部文件、操作系统设置...)之间的差异并检查你的程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-29
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      相关资源
      最近更新 更多