Python3 + MySql: Error loading MySQLdb module: No module named 'MySQLdb'

前端 未结 5 2002
小鲜肉
小鲜肉 2020-12-28 16:40

I am new to Python and trying to setup a Django project to work with MySql. I have read through the documentation as well as some other StackOverflow posts about the topic,

相关标签:
5条回答
  • 2020-12-28 16:40

    If you can install pymysql -- which works well for me with Python 3.4 -- then add these lines to your manage.py file in Django:

    try:
        import pymysql
        pymysql.install_as_MySQLdb()
    except ImportError:
        pass
    

    This will make pymysql function like MySQLdb and worked for me.

    0 讨论(0)
  • 2020-12-28 16:50

    None of the existing answers worked for me on Ubuntu Server 16.04 so I ran:

    sudo apt-get install libmysqlclient-dev
    sudo -H pip3 install mysqlclient
    

    The first command get me the mysql config needed by the second command.

    0 讨论(0)
  • 2020-12-28 16:54

    pip install mysqlclient works for me python3.5

    0 讨论(0)
  • 2020-12-28 16:55

    I would need to see your DATABASES configuration in settings.py, but it looks like it is trying to load MySQLDB instead of the Mysql Python Connector that you installed. The DATABASES should look something like this:

    DATABASES = {
        'default': {
            'NAME': 'mydatabase',
            'ENGINE': 'mysql.connector.django',
            'USER': 'myuser',
            'PASSWORD': 'secretpassword',
            'OPTIONS': {
              'autocommit': True,
            },
        }
    }
    

    Note the ENGINE part... that tells Django to use the mysql connector instead of MySQLDB...

    more info available here: http://bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html http://dev.mysql.com/doc/connector-python/en/connector-python-django-backend.html

    and if you are expecting to use South:

    www.pythonanywhere.com/wiki/UsingMySQL

    You may want to note that the Oracle connecter is GPL, and there may be license issues with using that code. See Here:

    groups.google.com/forum/#!topic/django-developers/8r_RVmUe5ys

    The Django 1.7 documentation recommends using the mysqlclient driver...

    docs.djangoproject.com/en/1.7/ref/databases/ --see the section on Mysql DB API Drivers

    pypi.python.org/pypi/mysqlclient for that client...

    -Scott

    0 讨论(0)
  • 2020-12-28 17:05

    If you're like me, you're working with a Linux install, and Linux still needs Python 2.7 in most cases. That means that

    pip install mysqlclient
    

    will install the MySQL client for 2.7, which is segmented from Python 3. To make it install for 3.x you need to use

    pip3 install mysqlclient
    

    I did not have to install any packages, but mysql-common was already installed (Raspbian install) so your mileage may vary there

    0 讨论(0)
提交回复
热议问题