我正在尝试使用 py2app 捆绑我在 Mac 上的 Python 2.7 中制作的小型 Python 应用程序。我的应用程序使用Watchdog 库,它在我的主文件顶部导入:
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
运行我的程序时,这些导入语句工作得很好,程序按预期工作。但是,在运行 py2app 后,启动捆绑的应用程序会产生以下错误:
ImportError: No module named watchdog.observers
起初我认为这与observers
嵌套在里面的模块有关watchdog
,但为了测试它,我添加了这一行
import watchdog
到我的程序顶部,然后在运行应用程序时出现错误
ImportError: No module named watchdog
watchdog
因此,由于某种原因,它似乎实际上找不到包。
我尝试watchdog
使用 py2app 的--packages
选项手动添加包:
$ python setup.py py2app --packages watchdog
但它没有效果。
我未捆绑的 Python 程序从命令行运行得很好;我导入的其他下载模块没有出错;我已经成功捆绑了一个简单的“Hello World!” 使用py2app的应用程序,所以我相信我的设置是正确的。
但我有点不知道如何让 py2app 找到watchdog
包。任何想法或帮助将不胜感激。
编辑:这是 my 的文本,setup.py
由 py2applet 生成。我没有修改它。
from setuptools import setup
APP = ['watcher.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)