语法错误:运行python manage.py syncdb时语法无效(connections.py,第36行)

时间:2013-04-15 18:11:27

标签: python mysql django

我在Windows 7上,在很多问题和python 3.3和django 1.5.1之后安装了Mysql 5.5,我在mysql中创建了db,当我第一次运行python manage.py syncdbSyntaxError: invalid syntax (connections.py, line 36)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'test_django',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}

当然密码和数据库名称是正确的。有什么想法吗?

编辑 - connections.py在mysqldb模块中,在第36行有

    raise errorclass, errorvalue

我怎样才能看到追溯?

2 个答案:

答案 0 :(得分:0)

您没有使用最新版本的Django 1.5,这是第一个与Python 3兼容的版本。早期的Django版本只与Python 2.x兼容。

答案 1 :(得分:0)

我遇到了相同的Line 36语法错误并解决了它 Mysql驱动程序与Python 3的不匹配导致了这一点 http://bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html可以为您提供帮助

另外:

DATABASES = {
    'default': {
        'NAME': 'mydatabase',
        'ENGINE': 'mysql.connector.django',
        'USER': 'myuser',
        'PASSWORD': 'secretpassword',
        'OPTIONS': {
          'autocommit': True,
        },
    }
}

注意ENGINE是mysql.connector.django而不是django.db.backends.mysql