Использование scipy.stats.stats в django после развертывания

Я нахожусь в процессе создания интерфейса на базе 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 init для импорта пакета статистики, чтобы он отображался «нормально» в dir (scipy) и был доступен через scipy.stats, и я мог использовать старую код.
  • Вырвать подпакет scipy stat и сделать из него обычный пакет (возможно, используя символическую ссылку)

Однако я не хочу применять эти решения. Кластер фактов появляется в scipy в среде django меня немного беспокоит. Я подумал, что, может быть, это как-то связано с тем, что я являюсь пользователем www-data при входе в систему из Интернета, но я не знаю, как это проверить.

Кто-нибудь еще сталкивался с этим? Части этого? Или другие полезные мысли?

Да, еще одно развертывание django работает.

5
задан bmu 14 October 2012 в 13:05
поделиться