与鸭嘴兽有关的奇怪问题(从脚本生成.app包)

1 投票
1 回答
1405 浏览
提问于 2025-04-17 20:05

我写了一个小的Python脚本,想用它自动处理某些类型的文件。因此,我想把它做成一个.app,这样我就可以设置某些文件自动用它打开。

于是我查了一下,发现了Platypus,这个工具似乎能满足我的需求。

但是,奇怪的是,它并没有正常工作。具体来说,它似乎找不到正确的Python解释器。我是这样设置的:

enter image description here

也就是说,脚本类型是env,所以它应该像命令行那样读取文件的第一行。

magic.py中,第一行是#!/usr/bin/env python2.7

现在,当我在命令行运行这个脚本(也就是~/devel/magic.py whatever)时,一切都正常。但当我运行这个应用程序时,就出现了错误:

Traceback (most recent call last):
  File "/Users/jan/Dropbox/devel/Magic.app/Contents/Resources/script", line 8, in <module>
    from bencode import *
ImportError: No module named bencode

从命令行运行时,同样的导入没有问题,所以我在想,它可能用错了解释器。我该怎么修复或调试这个问题呢?

1 个回答

3

你想要从 bencode 模块导入东西,但你没有把它添加到应用程序的资源包里。你可以把它拖到包含的文件列表里,然后重新导出,或者直接把它复制到包的资源文件夹里。

撰写回答