Python 没有名为MySQLdb的模块

Python 没有名为MySQLdb的模块,python,django,python-2.x,Python,Django,Python 2.x,我正在使用Python版本2.5.4,并安装MySQL版本5.0和Django。Django可以很好地使用Python,但不能使用MySQL。我在Windows Vista中使用它。mysqldb是一个Python模块,它没有预装或与Django一起使用。您可以下载mysqldb如果您在Vista上运行,您可能需要查看它是一个由Apache、Python、MySQL等组成的多功能堆栈,它与跨平台安装程序打包在一起,非常容易入门。它在Windows、Mac和Linux上运行。哦,而且是完全免费的:

我正在使用Python版本2.5.4,并安装MySQL版本5.0和Django。Django可以很好地使用Python,但不能使用MySQL。我在Windows Vista中使用它。

mysqldb
是一个Python模块,它没有预装或与Django一起使用。您可以下载
mysqldb

如果您在Vista上运行,您可能需要查看它是一个由Apache、Python、MySQL等组成的多功能堆栈,它与跨平台安装程序打包在一起,非常容易入门。它在Windows、Mac和Linux上运行。哦,而且是完全免费的:)

您需要使用以下命令之一。哪一个取决于您拥有和使用的操作系统和软件

  • 轻松安装mysql python(混合操作系统)
  • pip安装mysql python(混合os/python 2)
  • pip安装mysqlclient(混合os/python 3)
  • apt get install python mysqldb(Linux Ubuntu,…)
  • cd/usr/ports/databases/py MySQLdb&&make-install-clean(FreeBSD)
  • yum安装MySQL-python(Linux Fedora、CentOS…)
  • 对于Windows,请参见以下答案:

    Ubuntu:

    sudo apt-get install python-mysqldb
    

    多亏了德雷沃,但我认为还有另一个好方法:

  • 下载并安装
  • 打开命令提示符
  • 键入
    pypm安装mysql-python
  • 请阅读此软件包的说明

  • 我认为
    pypm
    easy\u install

    更强大、更可靠。请记住,python3.x没有MySQLdb

    (我知道问题是关于python2.x的,但谷歌对这篇文章的评价相当高)


    编辑:如评论中所述,MySQLdb的fork添加了python3支持:

    • 使用
      cd
      转到项目目录
    • source/bin/activate(如果之前没有激活您的环境,则激活您的环境)
    • 运行命令
      easy\u安装MySQL python
      • 试试这个

        pip install MySQL-python
        
        注意,这不是针对Python3.x测试的 在CMD中

        pip install wheel
        pip install pymysql
        
        在settings.py中

        import pymysql
        pymysql.install_as_MySQLdb()
        

        它与我一起工作

        我尝试了上述方法,但仍然没有名为“MySQLdb”的模块,最后,我成功地使用了

        easy_install mysql-python
        

        my env是unbuntu 14.04

        如果您的python版本是
        3.5
        ,请执行
        pip安装mysqlclient
        ,其他事情对我不起作用

        我在windows下遇到同样的情况,并搜索解决方案

        看到这个帖子

        它指出,安装这样的pip环境很困难,需要许多其他依赖项

        但我终于知道,如果我们使用
        mysqlclient
        并将版本降低到
        1.3.4
        ,它就不再需要这些要求了,所以请尝试:

        pip install mysqlclient==1.3.4
        

        在OSX上,这些命令对我有效

        brew install mysql-connector-c 
        pip install MySQL-python
        
        然后将这两行添加到Project/Project/init.py

        import pymysql
        pymysql.install_as_MySQLdb()
        

        如果您使用的是SQLAlchemy,并且错误出现在
        /site packages/SQLAlchemy/dialogs/mysql/mysqldb.py
        中,则可在WIN和python 3.3+上运行:

        from ...connectors.mysqldb import (
                                MySQLDBExecutionContext,
                                MySQLDBCompiler,
                                MySQLDBIdentifierPreparer,
                                MySQLDBConnector
                            )
        

        因此,您可能错过了用于
        SQLAlchemy
        的mysqldb连接器,解决方案是在安装
        mysql-python
        模块后重新安装SQLAlchemy。

        如果pip-install-mysqlclient产生错误,并且您使用Ubuntu,请尝试:

        sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
        
        对于Windows:

        pip install mysqlclient pymysql
        
        然后:

        对于Python3 Ubuntu

        sudo apt-get install -y python3-mysqldb
        

        对于Python 3+版本

        将mysql连接器安装为:

        pip3 install mysql-connector 
        
        示例Python数据库连接代码:

        import mysql.connector
        db_connection = mysql.connector.connect(
          host="localhost",
          user="root",
          passwd=""
        )
        print(db_connection)
        
        > <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>
        
        输出:

        import mysql.connector
        db_connection = mysql.connector.connect(
          host="localhost",
          user="root",
          passwd=""
        )
        print(db_connection)
        
        > <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>
        
        >0x000002338A4C6B00>
        
        这意味着,数据库已正确连接

        pip install --user mysqlclient 
        
        以上对我来说就像魅力对我一样。我实际上是从sqlalchemy中犯了错误。 环境资料:

        Python:3.6,Ubuntu:16.04,conda 4.6.8Win10/Python27 这对我很有用:

        easy_install mysql-python
        

        所有其他“pip安装…”都因依赖性错误而失败

        我个人建议使用
        pymysql
        而不是使用正版MySQL连接器,它为您提供了独立于平台的接口,可以通过
        pip
        安装

        您可以像这样编辑SQLAlchemy URL模式:
        mysql+pymysql://username:passwd@主机/数据库

        对于Python3.6+
        sudo apt get install libmysqlclient dev
        pip3 install mysqlclient
        的技巧

        以上这些都不适用于我通过docker镜像在Ubuntu 18.04上进行的全新安装

        以下内容为我解决了这个问题:


        apt get install holland python 3 mysqldb

        在运行Catalina v10.15.2的mac上,我遇到以下mysqldb版本冲突:

        ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)
        
        为了解决这个问题,我做了以下工作:

        pip uninstall MySQL-python
        pip install MySQL-python
        

        在Debian Buster上,以下解决方案适用于我的python 3.7:

        sudo apt-get install libmysqlclient-dev
        sudo apt-get install libssl-dev
        pip install mysqlclient
        
        我在ubuntu(linux)工作,对我有用的是

        sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
        
        最后

        pip install mysqlclient
        

        对于试图为
        sqlalchemy
        找到解决方案时访问此页面的任何人,您需要做的只是:

        pip install PyMySQL
        

        并将连接字符串调整为使用PyMySQL,从
        mysql://
        mysql+PyMySQL://

        python3

        确保进口订单:

        #BAD
        import MySQLdb             # <------ NOT here
        import pymysql
        pymysql.install_as_MySQLdb()
        
        #GOOD
        import pymysql
        pymysql.install_as_MySQLdb()
        import MySQLdb              # <------- HERE!
        
        #坏
        
        import MySQLdb#在mac上的mysql.connector.python版本8.0.24中遇到了这个问题(如果代码库相同,那么这个问题也应该在windows中发生)。第51行导入“从django.db.backends.mysql.base导入DatabaseWrapper作为MySQLDatabaseWrapper”。具有以下代码14-20(您收到的确切代码和错误是代码的一部分

        try:
            import MySQLdb as Database
        except ImportError as err:
            raise ImproperlyConfigured(
                'Error loading MySQLdb module.\n'
                'Did you install mysqlclient?'
            ) from err
        

        错误是在这里形成的。不确定为什么此导入会在不同版本的mysql connector中不断返回,但8.0.23没有导入,因此我恢复到该版本,错误消失了…这是为了防止您希望继续使用mysql.connector.python

        尝试安装mysql-python-1.2.1我收到消息ImportError:No m名为setuptools的模块试图安装setuptools,但我发现zlib不可用。它不应该与python捆绑在一起吗?下载mo后