【发布时间】:2014-07-29 20:21:45
【问题描述】:
注意:我看到this question的人显然有同样的问题,但是由于一年多没有出现任何有用的东西,而且我有更多线索,我在这里以我自己的方式询问.
我正在使用 Python 2.7.3 和 Django 1.2.7(代码库需要旧版本的 Django,但我没有降低 Python 的版本。这可能会导致下面的冲突。)
在配置文件中将用户名配置为“django”并将主机名配置为“正确的主机名”后,我在控制台中尝试 python manage.py runserver。这会导致以该错误结尾的跟踪:
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 188, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'django'@'wronghostname.com' (using password: YES)")
其中“wronghostname.com”是我当前机器的地址。这个异常似乎来自 _mysql.pyd 模块,因为 Connection 对象被定义为
class Connection(_mysql.connection):
由于某种原因,_mysql.connection 中的__init__ 函数正在破坏主机名。我确认 args 和 kwargs2 包含“正确的主机名”,因为我打印了它们。显然 _mysql.pyd 内部的某些东西错误地处理了进入它的主机信息。
我不知道我可以用 *.pyd 模块做什么。我想我要么需要一个可以正确处理主机名的版本,要么需要一些等效的解决方案。我曾想过尝试直接在“correcthostname.com”上运行,但可能无法直接在机器上运行。我被要求看看我是否可以从我自己的机器上运行。
感谢您的建议!
【问题讨论】:
标签: python django mysql-python