即使安装了MySQL-python,也没有名为MySQLdb的模块?

Com*_*low 4 python mysql unix centos mysql-python

我有一个CentOS盒子.

(venv)[root@localhost]# yum install MySQL-python
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.maine.edu
 * epel: ftp.osuosl.org
 * extras: mirror.us.leaseweb.net
 * remi: rpms.famillecollet.com
 * updates: mirrors.centarra.com
Setting up Install Process
Package MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)

...

(venv)[root@localhost]# python
Python 2.7.6 (default, May 20 2014, 20:23:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
>>>
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

当我尝试时,pip install mysql-python我得到这个:

Traceback (most recent call last):
  File "/home/user1/project/venv/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/home/user1/project/venv/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/home/user1/project/venv/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 65: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

huu*_*huu 8

您需要强制pip使用默认本地化设置.代替:

pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

做:

LC_ALL=C pip install mysql-python
Run Code Online (Sandbox Code Playgroud)

如果你碰到了error: Python.h: No such file or directory,那么你需要安装一个额外的库:

yum install python-devel
Run Code Online (Sandbox Code Playgroud)