2015-09-02 3 views
4

У меня есть следующие строки импорта в проект Django 1.4 работает в Python 2.7.6:перемежающейся ImportError с пакетом Джанго

from django.contrib.gis.utils import GeoIP

Эта линия работает только штраф 100% времени в производстве и в развитии , но эта строка с ошибкой ImportError в тесте - иногда. Учитывая следующее холостое испытание:

from django.test import TestCase 
from django.test.client import Client 

class DummyTestCase(TestCase): 
    def test_GET_200_response_code(self): 
     c = Client() 
     response = c.get('/') 
     self.assertEqual(response.status_code, 200) 

Если я запускаю только тесты в этом модуле, он терпит неудачу на response = self.c.get('/') линии:

... 
File "...", line 19, in <module> 
    from django.contrib.gis.utils import GeoIP 
ImportError: cannot import name GeoIP 

Однако, когда я запустить весь набор тестов, в том числе это тот же тест, он проходит без проблем. И, опять же, импорт отлично работает в консоли, а также на сервере в dev и production.

Итак ... почему это происходит? Почему я должен получить ImportError только при запуске этого единственного тестового модуля и никогда иначе, даже если я буду запускать все тесты, включая этот модуль?

Примечание: Я использую Django 1.4 прямо сейчас. Я знаю, что путь импорта изменяется и будет from django.contrib.gis.geoip import GeoIP, но ярлык от utils все еще существует в 1.4, до 1.6. В любом случае, переключение пути импорта демонстрирует такое же поведение, как описано выше.

ответ

-1

Я думаю, что вот ваш answer, выглядит так Джанго 1,4 это в другом пакете: django.contrib.gis.geoip и django.contrib.gis.utils ярлык был удален в Джанго 1.6, так что я бы рекомендовал исследовать версию Джанго на тестовом сервере. Сначала попробуйте изменить импорт на django.contrib.gis.geoip, если использовать django> = 1.4, и вам не придется ничего расследовать.

+0

См. Мою заметку в нижней части моего первоначального сообщения. Старый путь импорта по-прежнему работает в 1.4, и даже его изменение не решает эту проблему. – ryanmrubin

Смежные вопросы