python“u mysql”u exceptions.ProgrammingError:(2014,“命令不同步;您现在不能运行此命令”)
我正在尝试在centos计算机上运行现有项目。我从requirements.txt安装了软件包,安装成功。但在运行“python“u mysql”u exceptions.ProgrammingError:(2014,“命令不同步;您现在不能运行此命令”),python,django,python-2.7,python-3.x,django-models,Python,Django,Python 2.7,Python 3.x,Django Models,我正在尝试在centos计算机上运行现有项目。我从requirements.txt安装了软件包,安装成功。但在运行“python manage.py runserver”时,我得到了以下回溯 [root@localhost bv]# python manage.py runserver Validating models... Unhandled exception in thread started by <bound method Command.inner_run of <d
python manage.py runserver
”时,我得到了以下回溯
[root@localhost bv]# python manage.py runserver
Validating models...
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x98da9ec>>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 91, in inner_run
self.validate(display_num_errors=True)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 266, in validate
num_errors = get_validation_errors(s, app)
File "/usr/local/lib/python2.7/site-packages/django/core/management/validation.py", line 103, in get_validation_errors
connection.validation.validate_field(e, opts, f)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/validation.py", line 14, in validate_field
db_version = self.connection.get_server_version()
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 415, in get_server_version
self.cursor().close()
File "/usr/local/lib/python2.7/site-packages/debug_toolbar/utils/tracking/__init__.py", line 9, in wrapped
return callback(original, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/debug_toolbar/panels/sql.py", line 21, in cursor
result = original(self)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/__init__.py", line 306, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 387, in _cursor
self.connection = Database.connect(**kwargs)
File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py", line 215, in __init__
self.set_character_set(charset)
File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py", line 294, in set_character_set
super(Connection, self).set_character_set(charset)
_mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now")
[root@localhostbv]#python manage.py runserver
正在验证模型。。。
由启动的线程中存在未处理的异常
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python2.7/site packages/django/core/management/commands/runserver.py”,第91行,在内部运行
self.validate(display\u num\u errors=True)
文件“/usr/local/lib/python2.7/site packages/django/core/management/base.py”,第266行,在validate中
num\u errors=get\u validation\u errors(s,app)
文件“/usr/local/lib/python2.7/site packages/django/core/management/validation.py”,第103行,在get\u validation\u errors中
connection.validation.validate_字段(e、opts、f)
文件“/usr/local/lib/python2.7/site packages/django/db/backends/mysql/validation.py”,第14行,在validate_字段中
db\u version=self.connection.get\u server\u version()
get_服务器版本中的文件“/usr/local/lib/python2.7/site packages/django/db/backends/mysql/base.py”,第415行
self.cursor().close()
文件“/usr/local/lib/python2.7/site packages/debug_toolbar/utils/tracking/_init__.py”,第9行,换行
返回回调(原始,*args,**kwargs)
文件“/usr/local/lib/python2.7/site packages/debug_toolbar/panels/sql.py”,第21行,在游标中
结果=原始(自身)
游标中的文件“/usr/local/lib/python2.7/site packages/django/db/backends/_init__.py”,第306行
cursor=self.make\u debug\u cursor(self.\u cursor())
文件“/usr/local/lib/python2.7/site packages/django/db/backends/mysql/base.py”,第387行,在光标处
self.connection=Database.connect(**kwargs)
文件“/usr/local/lib/python2.7/site packages/MySQL_-python-1.2.3-py2.7-linux-i686.egg/MySQLdb/_-init__.py”,第81行,在Connect中
返回连接(*args,**kwargs)
文件“/usr/local/lib/python2.7/site packages/MySQL\u python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py”,第215行,在__
self.set\u character\u set(字符集)
文件“/usr/local/lib/python2.7/site packages/MySQL\u python-1.2.3-py2.7-linux-i686.egg/MySQLdb/connections.py”,第294行,在set\u character\u set中
超级(连接,自)。集\字符集\字符集(字符集)
_mysql_exceptions.ProgrammingError:(2014,“命令不同步;您现在无法运行此命令”)
需要帮助来解决这个问题。
谢谢您可以尝试在现有数据库上运行-
python manage.py inspectdb
这将输出new models.py,现在将新生成的models.py与您的models.py进行比较。py如果要执行许多sql语句,请不要使用user
cur.execute(sql)
更好的方法是使用cur.executemany(sql)
这将导致一些错误
sql = "insert into test(name, age) value('Joe', '28');insert into test(name, age) value('xxtime', '15');"
cursor = db.cursor()
cursor.execute(sql)
db.commit()
exp 2:你可以用这个来代替
sql = "insert into test(name, age) value(%s, %s);"
cursor = db.cursor()
cursor.executemany(sql,[('Joe', '28'),('xxtime', '15')])
db.commit()
重新安装python-mysql@NileshG为什么要重新安装python mysql。Mysql配置正确,我可以通过命令提示符查看数据库。我安装了Mysql connector 1.2.3。此外,我还分别安装了Mysql和python。如果我同时运行syncdb,我会遇到与我仔细检查过的相同的错误。我在运行此命令时遇到了相同的问题。需要帮助解决。