python3上的MySQLdb:没有名为release的模块

Posted

技术标签:

【中文标题】python3上的MySQLdb:没有名为release的模块【英文标题】:MySQLdb on python3: No module named release 【发布时间】:2012-09-11 11:14:27 【问题描述】:

当我尝试使用 python 代码连接到数据库时,它显示以下错误:

    TTraceback (most recent call last):
  File "C:\Users\Ponmani\Desktop\test.cgi", line 5, in <module>
    import mysqldb
  File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 19, in <module>
    import _mysql
ImportError: DLL load failed: %1 is not a valid Win32 application.

谁能帮我解决这个问题。提前谢谢。

【问题讨论】:

谢谢大家,现在我安装了 python 2.7.3 现在它显示不同的错误。请参阅我编辑的帖子以了解错误。 重新安装mysql模块,不要随便复制。 【参考方案1】:

MySQLdb 没有被列为 PyPi 上的 Python 3 模块,它是从哪里来的?不幸的是,您不能只是将模块从 Python 2 复制到 3 并期望它们第一次工作。

【讨论】:

【参考方案2】:

根据PyPi 和the MySQLdb website,MySQLdb 不支持 Python 3。不确定你是如何安装它的,但它不会工作。

【讨论】:

pymysql 是一个替代品,它得到维护,表现更好,并且支持 python 3(至少"experimentally")。简而言之:改用 pymysql。 他正在使用一个非官方版本lfd.uci.edu/~gohlke/pythonlibs root:很好的发现!你怎么知道这是他用的。他们是否只是盲目地为 python 3.2 打包它,希望它有一天能神奇地工作? @Mu Mind -- 因为我之前发布了链接:),可能是,但是 3.1.3 版本似乎可以工作......没有尝试过 3.2。无论如何,使用 pymysql 似乎是一个可行的解决方案……或者切换回 2.x。【参考方案3】:

这不是最优雅的方法,但它会解决您最初的问题: 而不是from release import...from .release import...(注意“释放”之前的点)。

【讨论】:

【参考方案4】:

检查你的mysqldb模块的版本,MySQL-python-1.2.3.win32-py2.7.exe和MySQL-python-1.2.4.win32-py2.7.exe,你只需要一个,试试2次

【讨论】:

【参考方案5】:

https://www.pythonanywhere.com/wiki/UsingMySQL

pip install --user https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-1.1.6.tar.gz

然后,更新您的 settings.py 以使用 oracle django 后端“mysql.connector.django”:

DATABASES = 
    'default': 
        'ENGINE': 'mysql.connector.django',
         ...

【讨论】:

以上是关于python3上的MySQLdb:没有名为release的模块的主要内容,如果未能解决你的问题,请参考以下文章

加载 MySQLdb 模块时出错:没有名为“MySQLdb”的模块

AWS Elastic Beanstalk 上的 Django - 没有名为 MySQLdb 的模块错误

Django 1.8:抛出 ImportError:没有名为“MySQLdb”的模块

加载 MySQLdb 模块时出错 - Windows 上的 Python 3.7

Django 在Python3.5 下报 没有模块MySQLdb

ImportError:即使安装了 Mysqldb,也没有名为 MySQLdb 的模块