Tengo un error de importación de repente
Así que configuré un virtualenv en Ubuntu, instalé todo y conseguí que el sitio de desarrollo se ejecutara conrunserver
. Todas mis pruebas de unidad pasaron, pero muchas de las pruebas de unidad de los paquetes de Django no fueron aprobadas.
Así que traté de hacergit bisect
para resolver esto, revisando los primeros compromisos que había hecho. Fui demasiado temprano en la historia, cuando el entorno de desarrollo estaba usando diferentes motores de bases de datos, paquetes, etc., y el sitio, por supuesto, no podía ejecutarse. Entonces decidí trabajar en otra cosa más importante que fallar las pruebas de unidades de Django (ya que las mías estaban funcionando), por lo que volví al último compromiso en la rama de desarrollo.
Me puse en marcharunserver
de nuevo, pero esta vez cuando volví a cargar la página de inicio, me encontré con el error:
Traceback:
File "...venv.../local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
101. request.path_info)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
298. for pattern in self.url_patterns:
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
328. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
323. self._urlconf_module = import_module(self.urlconf_name)
File "...venv.../local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "...project dir.../myproject/urls.py" in <module>
2. import frontpage.views
Exception Type: ImportError at /
Exception Value: No module named views
Todo funcionaba bien antes de probar el git bisect. Pero no más, al menos en mi máquina local.
Así que busqué en Google, y cambié miROOT_URLCONF
desde'myproject.urls'
para sólo'urls'
. Ahora me sale este mensaje de error:
Traceback:
File "...venv.../local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
101. request.path_info)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve
298. for pattern in self.url_patterns:
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns
328. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "...venv.../local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
323. self._urlconf_module = import_module(self.urlconf_name)
File "...venv.../local/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
Exception Type: ImportError at /
Exception Value: No module named urls
Busqué más en Google y pensé que tal vez mi ruta de Python no incluía mi directorio de proyectos ... pero no, lo hace totalmente cuando incluí unaprint sys.path
en misettings.py
¡Archivo para el proyecto!
Entonces, ¿cuál es el problema aquí? Estoy usando Django 1.4.3, y estoy iniciando el servidor usandopython manage.py runserver
. Juro que mi sitio web estaba funcionando hace unas horas, y desde entonces he terminadogit checkout development
ygit reset
muchas veces ... He intentado eliminar el virtualenv, volver a crearlo y volver a instalar todos los paquetes de Python. Todavía estoy recibiendo el mismo error.
(Además, activé el virtualenv, e incluso intenté reiniciar, por si acaso ... no hay suerte hasta ahora)
ACTUALIZAR
Siguiendo la sugerencia de Lennart, comencé el depurador justo antes de la importación fallida y encontré queimport frontpage
trabaja, pero noimport frontpage.views
, frontpage.tests
, O algo más. Tengo un__init__.py
archivo en elfrontpage
directorio también. En este punto,sys.path
contiene mi carpeta de proyectos bien ...
Ya he incluidofrontpage
en miINSTALLED_APPS
también.
FIJO
Gracias a Lennart, comprobé que lafrontpage
El módulo se estaba importando correctamente. Lo correcto.pyc
se mostró el archivo, pero esto me hizo preguntarme si los archivos pyc estaban desincronizados de alguna manera con mi código real.
Así que borré todos los archivos pyc, reinicié el servidor, y todo está funcionando bien una vez más :)