已经装了MySQL-python,但在引用时报错:ImportError: No module named MySQLdb

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介:

导入MySQLdb模块的时候报错,如下

>>> import MySQLdb

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ImportError: No module named MySQLdb


在网上找了一个解决方法:

yum install MySQL-python  (centos系统)


再次导入的时候还是报错,怀疑是版本问题:

$ python --version

Python 2.7.10


$ cat /etc/issue

CentOS release 5.11 (Final)

Kernel \r on an \m


这个版本的系统默认装的是python2.4的模块:

$ rpm -ql MySQL-python

/usr/lib64/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4.egg-info

/usr/lib64/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4.egg-info/PKG-INFO

/usr/lib64/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4.egg-info/SOURCES.txt

/usr/lib64/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4.egg-info/dependency_links.txt

/usr/lib64/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4.egg-info/top_level.txt

/usr/lib64/python2.4/site-packages/MySQLdb

........

........


解决方法:

1,在官网下载MySQL-python-1.2.5。https://pypi.python.org/pypi/MySQL-python

2,unzip  MySQL-python-1.2.5.zip

3,安装

cd MySQL-python-1.2.5 

python setup.py build

python setup.py install



再次装载模块的时候还是报错:

>>> import MySQLdb

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in <module>

  File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module>

  File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__

ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory


根据最后提示,应该是找不着一个交libmysqlclient.so.18的文件,于是到mysql安装目录里找到这个文件并且做一个软连接到/usr/lib

ln -sv /usr/local/ver01/percona/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18


再次装载模块的时候不再报错了。




本文转自 emma_cql 51CTO博客,原文链接:http://blog.51cto.com/chenql/1760899
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Python
python Module使用
【10月更文挑战第14天】 python Module使用
305 35
|
Linux Python
【Azure Function】Python Function部署到Azure后报错No module named '_cffi_backend'
ERROR: Error: No module named '_cffi_backend', Cannot find module. Please check the requirements.txt file for the missing module.
336 2
|
Python
Python中导入错误(ImportError)
【7月更文挑战第14天】
1185 11
|
数据处理 Python
【Python】解决tqdm ‘module‘ object is not callable
在使用tqdm库时遇到的“'module' object is not callable”错误,并给出了正确的导入方式以及一些使用tqdm的常见示例。
711 1
|
API 开发工具 Python
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
192 0
|
关系型数据库 MySQL Linux
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
161 0
|
数据挖掘 程序员 Python
【Python】已解决:ModuleNotFoundError: No module named ‘Workbook’
【Python】已解决:ModuleNotFoundError: No module named ‘Workbook’
435 0
|
开发者 Python
【Python】已解决:(pandas read_excel 读取Excel报错)ImportError: Pandas requires version ‘2.0.1’ or newer of ‘x
【Python】已解决:(pandas read_excel 读取Excel报错)ImportError: Pandas requires version ‘2.0.1’ or newer of ‘x
1054 0
|
Python
【Python】已解决:(from docx import Document导包报错)ModuleNotFoundError: No module named ‘exceptions’
【Python】已解决:(from docx import Document导包报错)ModuleNotFoundError: No module named ‘exceptions’
2225 0
|
SQL 关系型数据库 MySQL

推荐镜像

更多