我正在尝试使用py2app捆绑我在Mac上制作的Python 2.7中的一个小型Python应用程序。我的应用程序使用Watchdog library,这是在我的主文件的顶级进口:py2app导入错误与看门狗
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
当运行我的程序,这些import语句工作得很好,且运行正常。但是,运行py2app,启动捆绑的应用程序后会生成以下错误:
ImportError: No module named watchdog.observers
起初我还以为是什么做用被嵌套在watchdog
的observers
模块,但是测试,我添加了一行
import watchdog
我的程序的顶部,然后在运行的应用程序,得到了错误
ImportError: No module named watchdog
所以它似乎实际上找不到watchdog
包,出于某种原因。
我尝试手动添加watchdog
包使用py2app的--packages
选项:
$ python setup.py py2app --packages watchdog
,但它没有任何效果。
我的非捆绑Python程序在命令行中运行得很好;我输入的其他下载模块没有错误;我已经成功地捆绑了一个简单的“Hello World!”使用py2app的应用程序,所以我相信我的设置是正确的。
但是我对如何让py2app找到watchdog
软件包没有什么想法。任何想法或帮助将不胜感激。
编辑:这是我的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'],
)
您的setup.py的外观如何? – Jumhyn
我的setup.py只是py2applet生成的默认文件 - 我根本没有修改它。我已将文字添加到我的问题中。 – ekl