我使用py2app创建了一个应用程序,它工作正常,但如果我压缩/解压缩它,新解压缩的版本无法访问标准的python模块,如traceback或os。 zip的联机帮助页声称它保留了资源分叉,我看到其他应用程序以这种方式打包(我需要能够将它放在.zip文件中)。我该如何解决这个问题?
答案 0 :(得分:4)
这是因为构建了一个半独立版本,其中包含对本机安装文件的符号链接,正如您所说,在压缩/解压缩时链接会丢失,除非“ -y < / strong>“使用选项。
另一种解决方案是构建独立,将(公共域)文件放入应用程序中,从而更好地保存压缩/解压缩等。这也意味着应用程序对底层操作系统的更改更具弹性。当然,缺点是它更大,设置起来更复杂。
要构建独立版本,您需要安装可以重新打包的python.org版本。 有关如何执行此操作的说明是here,但请阅读评论,因为自撰写博客文章以来发生了一些更改。
答案 1 :(得分:0)
使用zip -y ...创建文件,同时保留符号链接。
答案 2 :(得分:0)
你可能需要给它完整的PYTHONPATH。
取决于你的操作系统。以下是如何找到:
导入os [或任何其他std模块] 操作系统。的文件()