ImportError: No module named MySQLdb

前端 未结 11 1207
难免孤独
难免孤独 2020-12-02 05:28

I am referring the following tutorial to make a login page for my web application. http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982

I

相关标签:
11条回答
  • 2020-12-02 05:41

    It depends on Python Version as well in my experience.

    If you are using Python 3, @DazWorrall answer worked fine for me.

    However, if you are using Python 2, you should

    sudo pip install mysql-python
    

    which would install 'MySQLdb' module without having to change the SQLAlchemy URI.

    0 讨论(0)
  • 2020-12-02 05:44

    While @Edward van Kuik's answer is correct, it doesn't take into account an issue with virtualenv v1.7 and above.

    In particular installing python-mysqldb via apt on Ubuntu put it under /usr/lib/pythonX.Y/dist-packages, but this path isn't included by default in the virtualenv's sys.path.

    So to resolve this, you should create your virtualenv with system packages by running something like:

    virtualenv --system-site-packages .venv

    0 讨论(0)
  • 2020-12-02 05:45

    Or try this:

    apt-get install python-mysqldb
    
    0 讨论(0)
  • 2020-12-02 05:45

    So I spent about 5 hours trying to figure out how to deal with this issue when trying to run

    ./manage.py makemigrations
    

    With Ubuntu Server LTS 16.1, a full LAMP stack, Apache2 MySql 5.7 PHP 7 Python 3 and Django 1.10.2 I really struggled to find a good answer to this. In fact, I am still not satisfied, but the ONLY solution that worked for me is this...

    sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
    

    followed by (from inside the virtual environment)

    pip install mysqlclient
    

    I really dislike having to use dev installs when I am trying to set up a new web server, but unfortunately this configuration was the only mostly comfortable path I could take.

    0 讨论(0)
  • 2020-12-02 05:46

    I got this issue when I was working on SQLAlchemy. The default dialect used by SQLAlchemy for MySQL is mysql+mysqldb.

    engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
    

    I got the "No module named MySQLdb" error when the above command was executed. To fix it I installed the mysql-python module and the issue was fixed.

    sudo pip install mysql-python
    
    0 讨论(0)
  • 2020-12-02 05:50
    yum install MySQL-python.x86_64
    

    worked for me.

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