我自己编写了一个小型 Python 脚本,我想用它来自动处理某些类型的文件;因此,我想用它创建一个 .app
,以便我可以设置自动打开某些文件。
所以我环顾四周,发现 Platypus 似乎可以满足我的需要。
但是,奇怪的是它不起作用。具体来说,它似乎没有找到正确的 python 解释器。我设置如下:
即,脚本类型是 env
,因此它应该像 shell 一样读取文件的第一行。
在magic.py
中,最上面一行是#!/usr/bin/env python2.7
。
现在,当我在命令行上运行 shell 脚本(即 ~/devel/magic.py 等等
)时,一切正常。但是当我运行该应用程序时,出现错误:
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
从命令行运行时,相同的导入工作得很好,所以我认为它以某种方式使用了错误的解释器。我该如何修复或调试这个问题?
最佳答案
您正在尝试从 bencode
模块导入,但未将其添加到应用程序的捆绑资源中。将其拖到包含文件列表中并再次导出,或者将其复制到包内容中的资源文件夹中。
关于python - 鸭嘴兽的奇怪问题(从脚本制作 .app 包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15592781/