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程序的循环的运行效率的原因
Apr 01 Python
Python3实现Web网页图片下载
Jan 28 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
pytorch之ImageFolder使用详解
Jan 06 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
Python txt文件常用读写操作代码实例
Aug 03 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
建立文件交换功能的脚本(一)
2006/10/09 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
react实现antd线上主题动态切换功能
2019/08/12 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
python基础教程之缩进介绍
2014/08/29 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
animation和transition的区别
2020/10/12 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
司机岗位职责
2013/11/15 职场文书
捐款倡议书范文
2014/02/02 职场文书
党员志愿者活动总结
2014/06/26 职场文书
销售目标责任书
2014/07/23 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
经典祝酒词大全
2015/08/12 职场文书
毕业设计工作总结
2015/08/14 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python