与鸭嘴兽有关的奇怪问题(从脚本生成.app包)
我写了一个小的Python脚本,想用它自动处理某些类型的文件。因此,我想把它做成一个.app
,这样我就可以设置某些文件自动用它打开。
于是我查了一下,发现了Platypus,这个工具似乎能满足我的需求。
但是,奇怪的是,它并没有正常工作。具体来说,它似乎找不到正确的Python解释器。我是这样设置的:
也就是说,脚本类型是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
模块导入东西,但你没有把它添加到应用程序的资源包里。你可以把它拖到包含的文件列表里,然后重新导出,或者直接把它复制到包的资源文件夹里。