Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

449
Vistas
Actualizando Django - error: 'Ningún módulo llamado migración'

Estoy actualizando mi aplicación Django de Django 1.5.5 a 1.9, Django-cms de 2.4.3 a 3.3 (y todos los paquetes correspondientes).

Después de analizar todos los errores de las funciones depreciadas, ahora me encuentro con un error que no puedo entender: 'Ningún módulo llamado migración'

Recibo este error cuando ejecuto (en un virtualenv): - python manage.py runserver y también cuando ejecuto - python manage.py migrate

 Traceback (most recent call last): File "manage.py", line 20, in <module> execute_from_command_line(sys.argv) File "/var/www/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line utility.execute() File "/var/www/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/var/www/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 195, in fetch_command klass = load_command_class(app_name, subcommand) File "/var/www/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 39, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/var/www/env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 16, in <module> from django.db.migrations.autodetector import MigrationAutodetector File "/var/www/env/local/lib/python2.7/site-packages/django/db/migrations/__init__.py", line 1, in <module> from .migration import Migration, swappable_dependency # NOQA ImportError: No module named migration

gestionar.py

 #!/usr/bin/env python2 import os import sys if __name__ == "__main__": settings_module_path = 'ais.settings.production' ########## Attempt to override settings using local settings try: from ais.settings.local_settings import * # For developmentent, file will probably hold the following: settings_module_path = 'ais.settings.development' print "!!!manage.py settings overwritten!!!" except ImportError: pass os.environ['DJANGO_SETTINGS_MODULE'] = settings_module_path from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)

migrar.sh

 #!/bin/sh echo "Starting ..." echo ">> Deleting old migrations" find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete # Optional echo ">> Deleting sqlite (if exists) database" find . -name "db.sqlite3" -delete echo ">> Running manage.py makemigrations" python manage.py makemigrations echo ">> Running manage.py migrate" python manage.py migrate echo ">> Done"
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si su error todavía le gusta:

 from .migration import Migration, swappable_dependency # NOQA ImportError: No module named 'django.db.migrations.migration'

Necesitas reinstalar dajngo

Verifique su versión de Django y luego fuerce la reinstalación

 python -m django --version

pip install --upgrade --force-reinstalar paquete

 pip install --upgrade --force-reinstall Django==2.0.5
over 4 years ago · Santiago Trujillo Denunciar

0

Su secuencia de comandos parece ser el problema. Está tratando de eliminar sus migraciones, pero en realidad también está eliminando el contenido del archivo /django/db/migrations/ de Django. Tenga en cuenta que explícitamente no elimina el archivo __init__.py , pero elimina los demás.

Una opción es simplemente eliminar estas líneas:

 echo ">> Deleting old migrations" find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete

De todos modos, no debería eliminar migraciones antiguas una vez que esté ejecutando Django en producción porque es posible que desee agregar un código personalizado a una migración. Esto parece un script de conveniencia para el desarrollo.

over 4 years ago · Santiago Trujillo Denunciar

0

Como señaló @YPCrumble, su secuencia de comandos ">> Eliminación de migraciones antiguas" también eliminó el archivo /django/db/migrations/ . Para restaurarlo, debe desinstalar Django y volver a instalarlo.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda