我正在尝试安装django-extensions + graphviz + pygraph,但我不能。 我已经完成了以下步骤(在Ubuntu下):
sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz
项目virtualenv(运行python 2.7.2 +):
source <path to virtualenv>/bin/activate
pip install django django-extensions
如果我跑
which python
它在我的virtualenv中选择了python,所以我正在使用的python是正确的。 在virtualenv的网站包中我有pygraphviz和django-extensions
python manage.py shell
import django_extensions
import pygraphviz
RUNS OK
在我的django项目中,我在我的INSTALLED_APPS中添加了“django_extensions”
但是当我跑步时
python manage.py help
我看不到命令,但它们不可用。
python manage.py graph_models -a -g -o model.png
Unknown command: 'graph_models'
Type 'manage.py help' for usage.
我该如何解决这个问题? 谢谢!
答案 0 :(得分:28)
在manage.py shell中运行:
from django.conf import settings; 'django_extensions' in settings.INSTALLED_APPS
如果它没有返回True,那么这意味着你没有在INSTALLED_APPS中正确添加'django_extensions',这就是Django找不到命令的唯一原因。
答案 1 :(得分:4)
实际上,如果你查看你的manage.py的代码,你会发现它根据你当前的网站设置了DJANGO_SETTINGS_MODULES:让我们说“mysite.settings”。 如果您希望manage.py列出其他扩展(例如来自django-extensions或django-evolution的扩展),那么您必须将project-root的文件夹添加到python路径中,否则您将只获得bascc manage.py命令。