无法使用 Python 2.7 从 django 网站连接到 MySQL,但可以使用 Python 2.5

Posted

技术标签:

【中文标题】无法使用 Python 2.7 从 django 网站连接到 MySQL,但可以使用 Python 2.5【英文标题】:Can't connect to MySQL from django website with Python 2.7, but is ok with Python 2.5 【发布时间】:2013-10-27 20:58:57 【问题描述】:

当我使用 Python 2.7 连接到 mysql 时,我得到:

    Traceback (most recent call last):
  File "C:\Programs\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 48, in inner_run
    self.validate(display_num_errors=True)
  File "C:\Programs\Python27\lib\site-packages\django\core\management\base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "C:\Programs\Python27\lib\site-packages\django\core\management\validation.py", line 102, in get_validation_errors
    connection.validation.validate_field(e, opts, f)
  File "C:\Programs\Python27\lib\site-packages\django\db\backends\mysql\validation.py", line 14, in validate_field
    db_version = self.connection.get_server_version()
  File "C:\Programs\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 313, in get_server_version
    self.cursor()
  File "C:\Programs\Python27\lib\site-packages\django\db\backends\__init__.py", line 75, in cursor
    cursor = self._cursor()
  File "C:\Programs\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 297, in _cursor
    self.connection = Database.connect(**kwargs)
  File "C:\Programs\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Programs\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

当我使用带有 MySQLdb 驱动程序的 Python 2.5 时,相同的代码/mysql 实例可以正常工作。 我该如何解决? 谢谢!

UPD:我使用 MySQL-python-1.2.4.win-amd64-py2.7 和 Python 2.7.3(默认,2012 年 4 月 10 日,23:24:47)[MSC v .1500 64 位 (AMD64)]

【问题讨论】:

python2.7需要mysqldb吗?我想知道您目前是否需要针对 2.7 的不同 MySQLdb,而您目前为 Python 2.5 提供的 MySQLdb 你确定你已经为 python2.7 安装了正确的 MySQL-python 连接器吗? @ScotchAndSoda 我在 win32 上安装了 Python 2.7.3(默认,2012 年 4 月 10 日,23:24:47)[MSC v.1500 64 位(AMD64)],我安装了 MySQL-python-1.2 .4.win-amd64-py2.7 【参考方案1】:

这个问题很奇怪,但看起来已经解决了。

我尝试了这个预编译的驱动程序:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python,但它失败了。

之后我尝试了这个:http://www.codegood.com/archives/129,没问题。

【讨论】:

以上是关于无法使用 Python 2.7 从 django 网站连接到 MySQL,但可以使用 Python 2.5的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 10 上安装带有 python 2.7 的 Django 版本 1.11.22

无法为“python 3.3”安装“pip”,但对“python 2.7”运行良好

在 Python 2.7 中出现“ImportError:无法导入名称 HTTPSConnection”错误

我希望我的 Django 项目使用 Python 2.7 而不是 2.6.8

AWS Elastic Beanstalk 500 错误 (Django) - Python-urllib/2.7 & 静态文件错误

将 Python 项目从 2.7 版本升级到 2.7.4