问题
I have installed mysql server using
$ sudo apt-get install mysql-server
then I installed python-mysqldb using
$ sudo apt-get install python-mysqldb
but when I import MySQLdb in python it shows the following error
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
I reinstalled both mysql server and python-mysqldb but it shows the same error. What am I getting wrong?
回答1:
You needed to install the module with pip pip install mysql-python
回答2:
Python module names are case sensitive, even on case-insensitive file systems. Therefore "MySQLdb" and "mysqldb" are two different modules/packages. Use import MySQLdb
instead.
回答3:
The package name is "MySQLdb". Case counts.
回答4:
Your code snippet is fine. So the problem lies with getting libraries to match up. Here are some tools to help track it down... but do post back to let us know how this worked out for you:
$ python --version
Python 2.6.6
$ easy_install yolk
$ yolk --list
DecoratorTools - 1.7 - active
MySQL-python - 1.2.2 - active
...
$ pydoc -p 8080
pydoc server ready at http://localhost:8080/
$ python
>>> import MySQLdb
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
ArgImagePlugin _bytesio exceptions pyexpat
BaseHTTPServer MspImagePlugin cProfile multifile
MySQLdb ....
$ dpkg -L python-mysqldb
/usr/lib/pyshared/python2.7/_mysql.so
/usr/lib/pyshared/python2.6/_mysql.so
Note the Ubuntu package installs mysql to several python versions.
回答5:
Try these commands
sudo apt-get install python-dev libmysqlclient-dev
sudo pip install MySQL-python
回答6:
Why not try installing from the synaptic package manager instead. You could install python-mysqldb-dbg also.
来源:https://stackoverflow.com/questions/8754125/python-mysqldb-not-importing