Я нахожусь в процессе создания интерфейса на базе django (1.3) для пакета, который сильно зависит от scipy.stats.stats (scipy версия 0.9.0), который называется ovl
. На ранних этапах разработки с использованием собственного сервера разработки djangos это не было проблемой. После развертывания с использованием apache debian / 2.2.9 и mod_wsgi 3.3 это вызывает серьезную проблему.
Какое бы представление я ни пытался загрузить в браузере, оно начинает загрузку и продолжает делать это в течение хороших 5 минут (до тайм-аута), после чего появляется страница 500.
Простой импорт scipy работает, но не делает доступными scipy.stats.stats или даже scipy.stats. Это не удивительно; в документации к scipy init .py указано, что подпакет stats
должен быть импортирован явно. Однако то же самое можно сказать и о подпакете cluster
, который импортируется в django (из Интернета и в django-shell) без каких-либо проблем и действительно отображается в dir (scipy)
, которого он не в сеансе ipython (0.10.2), где он просто не отображается, как я вроде как ожидал.
По команде dir (scipy)
; он возвращает разные результаты при поступлении из Интернета (список из 568 строк, включая подпакет cluster
) в обычной оболочке ipython (564 строки, без подпакета cluster
) и неожиданно, неожиданно в оболочке django. В оболочке django scipy имеет 570 атрибутов, включая пакеты cluster
и stats
.
Другое дело, если я продолжаю импортировать пакет ovl
, сохраняя при этом импорт scipy.stats на некотором расстоянии (не в одном из файлов самого приложения), иногда я получить ошибку ViewDoesNotExist о том, что в модуле представлений нет индекса метода, хотя он явно есть. Что напоминает мне это .
Итак, теперь я думаю об этих довольно уродливых решениях:
Однако я не хочу применять эти решения. Кластер фактов появляется в scipy в среде django меня немного беспокоит. Я подумал, что, может быть, это как-то связано с тем, что я являюсь пользователем www-data при входе в систему из Интернета, но я не знаю, как это проверить.
Кто-нибудь еще сталкивался с этим? Части этого? Или другие полезные мысли?
Да, еще одно развертывание django работает.