Я нахожусь в процессе создания django-powered (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 для импорта пакета статистики таким образом, чтобы он отображался «нормально» в dir (scipy) и был доступен через scipy.stats, и я могу использовать старый код.
- Выхватывает подпакет stat для scipy и делает из него обычный пакет (возможно, используя символическую ссылку)
Однако я неохотно применяю эти решения. Кластер фактов обнаруживается в scipy в среде django, меня немного беспокоит. Я подумал, может быть, это как-то связано с тем, чтобы быть пользователем www-данных при входе в сеть, но я не знаю, как это проверить.
Кто-нибудь еще сталкивался с этим? Части этого?
Или в противном случае полезные мысли?
Да, и еще одно развертывание django работает .