Я пытаюсь запустить statsd / graphite, который использует django 1.6.
При доступе к URL-адресу графита я получаю ошибку модуля django
Файл "/opt/graphite/webapp/graphite/urls.py", строка 15, из django.conf.urls.defaults import * ImportError: Нет модуля с именем по умолчанию.
Однако я не нахожу пакета django по умолчанию внутри/Library/Python/2.7/site-packages/django/conf/urls/
Пожалуйста, помогите решить эту проблему.
python
django
graphite
django-1.6
GJain
источник
источник
Ответы:
django.conf.urls.defaults
был удален в Django 1.6 . Если проблема была в вашем собственном коде, вы бы исправили ее, изменив импорт наfrom django.conf.urls import patterns, url, include
Однако в вашем случае проблема заключается в стороннем приложении graphite. Проблема исправлена в основной ветке графита и версии 0.9.14+.
В Django 1.8+ вы можете удалить его
patterns
из импорта и использоватьurl()
вместо него список s.from django.conf.urls import url, include
источник
Если по какой-то причине вы не хотите переходить на Django 1.5.x или обновлять Graphite, вы можете применить исправление к своему более старому Graphite с помощью:
find ./ -type f -exec sed -i -e 's/from\ django\.conf\.urls\.defaults\ import\ \*/from\ django\.conf\.urls\ import\ \*/g' {} \;
..в вашем каталоге
<graphite_dir>/webapp/graphite
.Это помогло мне с моими Graphite 0.9.12 и Django 1.7 (.5).
(Еще мне пришлось сделать:
find ./ -type f -exec sed -i -e 's/mimetype\=/content_type\=/g' {} \; find ./ -type f -exec sed -i -e 's/content_type\=mimetype/content_type\=content_type/g' {} \;
..позже, когда мне удалось запустить Graphite, некоторые его функции перестали работать. Теперь они у меня работают, но YMMV.)
источник