2013-01-14 37 views
0

我做了一個django app,只有一個管理命令,它被打包成一個蛋。自定義django管理命令在部署爲蛋時不工作

如果我將雞蛋解壓縮成空白django 項目,將它添加到installed_apps,管理命令起作用。

但是,如果它是easy_install編輯到服務器上,雖然它在路徑中(我可以在命令行上導入Command類),而在INSTALLED_APPS中,管理命令未註冊。它從雞蛋安裝到站點包中。

幫助!

回答

0

即使你把它打包成一個eg,你仍然需要在你的installed_apps中爲django提取它。

+0

更新的問題很明確:它在已安裝的應用程序中。 – 0atman

1

Django特別查找子目錄。請參閱core/management/init.py中的find_commands函數。所以它顯然不適用於雞蛋。簡單的解決方法是不要將您的應用分發爲雞蛋。無論如何,現在有only few good reasons

您可以告訴安裝程序在setup.py文件中解開egg文件。詳情請閱讀this SO answer。在這種情況下管理命令應該可以工作

+0

謝謝亞歷克斯,我應該提到雞蛋與easy_install一起安裝。我會更新我的問題。 – 0atman

+0

@Oatman,你有沒有嘗試在setup.py中添加'zip_safe = False'? http://peak.telecommunity.com/DevCenter/setuptools#setting-the-zip-safe-flag –

相關問題