我正在嘗試使用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