Py2App无法找到标准模块

时间:2009-08-28 10:57:32

标签: python macos py2app

我使用py2app创建了一个应用程序,它工作正常,但如果我压缩/解压缩它,新解压缩的版本无法访问标准的python模块,如traceback或os。 zip的联机帮助页声称它保留了资源分叉,我看到其他应用程序以这种方式打包(我需要能够将它放在.zip文件中)。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

这是因为构建了一个半独立版本,其中包含对本机安装文件的符号链接,正如您所说,在压缩/解压缩时链接会丢失,除非“ -y < / strong>“使用选项。

另一种解决方案是构建独立,将(公共域)文件放入应用程序中,从而更好地保存压缩/解压缩等。这也意味着应用程序对底层操作系统的更改更具弹性。当然,缺点是它更大,设置起来更复杂。

要构建独立版本,您需要安装可以重新打包的python.org版本。 有关如何执行此操作的说明是here,但请阅读评论,因为自撰写博客文章以来发生了一些更改。

答案 1 :(得分:0)

使用zip -y ...创建文件,同时保留符号链接。

答案 2 :(得分:0)

你可能需要给它完整的PYTHONPATH。

取决于你的操作系统。以下是如何找到:

导入os [或任何其他std模块] 操作系统。的文件()