2012-11-08 104 views
2

我已經在app/management /命令中創建了一個命令,並且此命令正常工作。我現在無法運行此命令。我收到以下錯誤:無法運行django自定義命令

未知命令:「my_custom_command_name」

我使用的是虛擬ENV。當我輸入pythong manage.py時,我在命令列表中看不到這些。我這個程序安裝在我的設置,這是以前

+1

檢查,如果下面的網絡連接存在: app/__init__.py app/management/__init__.py app/commands/__init__.py 管理器可能無法導入這些模塊。 – andrefsp

+0

是的,他們確實存在... – wasimbhalli

+0

如果你去找你django shell ** ./ manage.py shell ** com你做一個導入應用程序?並且你的app /包含任何models.py文件? – andrefsp

回答

1

這真的很奇怪。當我試圖運行:

$ python manage.py shell 

我得到了以下錯誤:

Error: cannot import name urandom 

我搜索的錯誤,我發現我需要重新創建我的虛擬ENV所以我用下面的命令:

virtualenv /path/to/my/virtualenv 

,然後我可以使用Django命令或我的自定義命令的常用方法:■

6

充分條件工作:

$ python manage.py shell 
>>> from yourapp.management.commands import yourcommand 

2)應用中實施管理命令:

1)管理命令,可以通過導入因爲Django應該作爲單個文件的direcory安裝,而不是壓縮(壓縮)到egg文件中。您可以使用setup.py中的關鍵字參數zip_safe=False來防止壓縮安裝。

+0

對於更細粒度的調試問題,您可以嘗試一次導入一個。 「導入yourapp」,「導入yourapp.management」,「導入yourapp.management.commands」。 –

+0

是的,我總結了第一個條件儘可能最短的方式,因爲wasimbhalli確認了關於正確進口的問題。 – hynekcer