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

时间:2014-05-20 15:26:46

标签: 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

...

(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
>>>

我该怎么办?

当我尝试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)

3 个答案:

答案 0 :(得分:8)

您需要强制pip使用默认的本地化设置。而不是:

pip install mysql-python

做的:

LC_ALL=C pip install mysql-python

如果遇到error: Python.h: No such file or directory,则需要安装其他库:

yum install python-devel

答案 1 :(得分:0)

有时候我们需要从外部添加/安装git repo, 该版本尚未发布,但您可以从下面的命令中添加

pip install git+https://github.com/PyMySQL/mysqlclient-python.git

还有

pip install mysql-python

yum install python-devel

答案 2 :(得分:0)

您可以使用MySQL-python

对于centos

yum安装MySQL-python

Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.

    >> import MySQLdb
    >>