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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
python目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
Django的数据模型访问多对多键值的方法
Jul 21 Python
使用Python脚本和ADB命令实现卸载App
Feb 10 Python
Python切片操作实例分析
Mar 16 Python
Python numpy 点数组去重的实例
Apr 18 Python
python3中函数参数的四种简单用法
Jul 09 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
Python gevent协程切换实现详解
Sep 14 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
php 魔术函数使用说明
2010/02/21 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
python实现哈希表
2014/02/07 Python
Python在线运行代码助手
2016/07/15 Python
python学生信息管理系统
2018/03/13 Python
如何用python整理附件
2018/05/13 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
如何利用find命令查找文件
2016/11/18 面试题
应届毕业生自荐信例文
2014/02/26 职场文书
不错的求职信范文
2014/07/20 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
物业客服专员岗位职责
2015/04/07 职场文书