4
我正在升級我的Django應用程序,從Django 1.5.5到1.9,Django-cms從2.4.3到3.3(以及所有相應的包)。更新Django - 錯誤:'沒有模塊命名遷移'
後,我已經通過貶值的功能我現在上的錯誤絆倒,我無法理解所有的錯誤犁:「無模塊名爲遷移」
(在virtualenv中)運行時,我得到這個錯誤: - 蟒蛇manage.py runserver命令 還當我運行 - 蟒蛇manage.py遷移
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
manage.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)
migrate.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"
你會嘗試卸載,然後在你的virtualenv重新安裝Django? 'pip卸載django && pip install django == 1.11'(或者你正在升級到的任何版本)。 – YPCrumble
我做到了....但仍然是相同的錯誤 –
請確保您使用的是正確版本的Django。輸入'python -c「import django; print(django.get_version())」'到控制檯。這是什麼產生的?然後用激活的virtualenvironment('python --version')檢查你的Python版本。什麼版本?最後一件事是,當你升級Django時,你可能並沒有升級'manage.py' - 確保'#!/ usr/bin/env python'是該文件的第一行。 – YPCrumble