linux环境下python中MySQLdb模块的安装方法


Posted in Python onJune 16, 2017

前言

最近开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决。记录一下我在linux中安装此包遇到的问题。

系统是ubuntn15.04。

1.下载

第一个问题是pycharm软件的模块安装功能Project Interpreter无法自动下载安装MYSQLdb包,显示

Error occurred when installling package

那没办法了,只好手动下载了。MYSQLdb包linux系统的下载的地址是:http://sourceforge.net/projects/mysql-python/file/mysql-python/

在页面内选择你想要安装的版本下载即可,我下载的版本是1.2.4b4

2.安装

一:下载之后,打开终端,切换到自己的下载文件目录,在我的电脑上是目录/home/hai/download,之后解压下载的文件,即在终端输入:

tar xfz MySQL-python-1.2.4b4.tar.gz

二:使用命令

cd MySQL-python-1.2.4b4

切换到解压后的目录。

三:编译MYSQLdb包

输入命令

python setup.py build

此时遇到问题,报错信息是

mysql_config not found

google之后发现要修改MYSQLdb解压之后目录中的setup_posix.py第26行,此行的内容是

mysql_config.path = "mysql_config"

mysql_config是mysql安装目录中的一个文件的名称,需要将26行变量的值改为此文件的绝对路径。

于是使用

whereis mysql

查看数据库安装目录,进入安装目录。但是发现安装目录中并没有mysql_config文件,啊,好气啊。

再继续google,发现是没有安装libmysqlclient-dev,那就安装!使用命令:

sudo apt-get install libmysqlclient-dev

安装这个东西,之后使用命令:

file -name mysql_config

查看这个文件的路径,ok,有了。

将setup_posix.py文件修改后,再使用python setup-python-1.2.4b4安装,又遇到问题了,错误信息:

error: command 'i686-linux-gnu-gcc' failed with exit status 1

啊啊啊。

继续google,原来是没有安装python-dev,好的,那就安装.使用命令:

sudo apt-get install python-dev

安装完成后,再使用输入了N次的命令python setup.py build,好,终于没有报错了,现在就差一步就安装成功了。

四:输入命令sudo python setup.py install

好,终于安装上了,在python中实验一下,导入一下MYSQLdb模块,import MYSQLdb,没有消息,恩,没有消息就是最好的消息,安装成功!

P.S

另外在google过程中,还看到了好几个错误报警,虽然我没有遇到,还是在这里提一下。

  • 第一个是如果没有安装steuptools,在第三步编译时会报错ImportError: No module named setuptools,那就去安装setuptools,至于setuptools的安装,那就是另外的问题了,就不多说了。
  • 第二个是关于python.h文件报错,这是python版本的问题,需要处理一下python版本,也不再多说。
  • 第三个是/usr/bin/ld:cannot find -lmysqlclient_r报错,这是由于配置文件没有生效。找到mysql的配置文件,使用使用:ldconfig命令刷新使其生效即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python抓取网页图片示例(python爬虫)
Apr 27 Python
Python中random模块用法实例分析
May 19 Python
深入解析Python设计模式编程中建造者模式的使用
Mar 02 Python
Python入门_学会创建并调用函数的方法
May 16 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
Jul 13 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
python的移位操作实现详解
Aug 21 Python
Python实现密码薄文件读写操作
Dec 16 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 #Python
Python中关于Sequence切片的下标问题详解
Jun 15 #Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 #Python
带你了解python装饰器
Jun 15 #Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 #Python
Python之os操作方法(详解)
Jun 15 #Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 #Python
You might like
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php使用GeoIP库实例
2014/06/27 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
学习ExtJS Column布局
2009/10/08 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
JS如何定义用字符串拼接的变量
2020/07/11 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
python线程池threadpool实现篇
2018/04/27 Python
python内置数据类型之列表操作
2018/11/12 Python
python3.7 sys模块的具体使用
2019/07/22 Python
Django返回HTML文件的实现方法
2020/09/17 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
策划助理岗位职责
2013/11/18 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
组织关系转移介绍信
2014/01/16 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
健康教育评估方案
2014/05/25 职场文书
新品发布会策划方案
2014/06/08 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
校长新学期寄语2016
2015/12/04 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
24年收藏2000多部退役军用电台
2022/02/18 无线电