私は新しい django プロジェクトに取り組んでおり、このチュートリアルに従っています。"Using South for Database Migrations" のステップで を実行しようとするpython manage.py syncdb
と、次のエラーが表示されます。
(editorial)[hookedonwinter@hookedonwinter editorial (master *)]$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/core/management/__init__.py", line 77, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/south/management/commands/__init__.py", line 13, in <module>
from south.management.commands.syncdb import Command as SyncCommand
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/south/management/commands/syncdb.py", line 18, in <module>
from south import migration
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/south/migration/__init__.py", line 11, in <module>
from south.models import MigrationHistory
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/south/models.py", line 4, in <module>
class MigrationHistory(models.Model):
File "/Users/hookedonwinter/.virtualenvs/editorial/lib/python2.6/site-packages/django/db/models/base.py", line 97, in __new__
new_class.add_to_class('_meta', Options(meta, **kwargs))
TypeError: Error when calling the metaclass bases
__init__() keywords must be strings
これが私のsettings.pyファイルです: https://gist.github.com/pjhoberman/5273653
まだアプリはなく、空のプロジェクトです。それは私の単純な見落としだと思います-何か考えはありますか?
編集
コメントから:
私はまだモデルを持っていません。そのチュートリアルに従って、モデル作業を行う前に南から始めようとしています。
バージョン:
- ジャンゴ==1.5.1
- 南==0.7.6
settings.py で south をコメントアウトすると、次のエラーが発生します。
$ python manage.py syncdb
TypeError: Error when calling the metaclass bases __init__() keywords must be strings
編集2
最初からやり直してdjango 1.4を使用しましたが、動作します。
編集3
Python を 2.7 に更新し、django 1.5 を使用しましたが、すべて同様に機能します。