`
nigelzeng
  • 浏览: 605927 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python安装MySQLdb

阅读更多

 

下载MySQL-python-1.2.3.tar.gz

 

进入到MySQL-python目录运行 python setup.py install 出现错误。

因为要使用setup.py需要安装python-setuptools

 

 

下面是setuptools安装:

· 下载 http://peak.telecommunity.com/dist/ez_setup.py

· 运行 python ez_setup.py

 

 

再一次进入到MySQL-python目录运行python setup.py install

再次出现错误:

 

sh: mysql_config: not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/root/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/root/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

 

 

用find / -name mysql_config命令在系统里查找mysql_config,

结果为空,原因是libmysqlclient-dev库没有装上。

于是 apt-get install libmysqlclient-dev

再查询一次mysql_config文件,

可以得到该文件的地址,我这里是/usr/bin/mysql_config

编辑site.cfg文件,修改mysql_config变量为上面的地址:

 

mysql_config = /usr/bin/mysql_config
 

然后再运行python setup.py install,

又提示错误:

 

In file included from _mysql.c:29:
 pymemcompat.h:10:20: error: Python.h: No such file or directory
 _mysql.c:30:26: error: structmember.h: No such file or directory
 In file included from /usr/include/mysql/mysql.h:44,
                  from _mysql.c:40:
 .
 .
 .
 _mysql.c:2808: warning: return type defaults to 'int'
 _mysql.c: In function 'DL_EXPORT':
 _mysql.c:2808: error: expected declaration specifiers before 'init_mysql'
 _mysql.c:2886: error: expected '{' at end of input
 error: command 'gcc' failed with exit status 1

 

经过google,这里还需要装python-dev库,

果断安装之:

apt-get install python-dev

 

再一次python setup.py install,

终于成功装上MySQLDB:

 

nigelzeng@ubuntu:/usr/local/src/MySQL-python-1.2.3$ sudo python setup.py build     
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-i686-2.6/MySQLdb
running build_ext
building '_mysql' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-i686-2.6/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1088:1: warning: "HAVE_WCSCOLL" redefined
In file included from /usr/include/python2.6/Python.h:8,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
/usr/include/python2.6/pyconfig.h:808:1: warning: this is the location of the previous definition
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-i686-2.6/_mysql.o -L/usr/lib/mysql -lmysqlclient_r -o build/lib.linux-i686-2.6/_mysql.so
 

 

最后install:

 

sudo python setup.py install

 

搞定!

 

+——————————————————————————————————————————+

setuptools:

 

介绍setuptools,就要从distutils讲起。Distutils属于Python的标准库,是从版本1.6以来就有的,其作用,主要是用来创建和使用安装包,我们常见的setup.py就是基于这个工具集创建,并且被这个工具集所使用的。这个模块的主要功能都在distutils.core里面,作为开发者,通常是导入distutils.core中的setup,来创建一个setup.py文件。

 

setuptools,则是在distutils基础上的一个增强包,提高了创建分发包,使用分发包的能力。在这个增强的模块里面,新增加了easy_install.py,同时开始支持egg文件的构建和使用。对开发者来说,增加了MANIFEST,PyReg,PYPI等特性。

 

这里,要提一下常用到的egg文件,egg文件,就像是java中的jar包,把代码和资源打包起来成为一个zip压缩包,并且冠于egg后缀。

 

分享到:
评论
3 楼 joyseeker 2013-02-22  
非常感谢楼主, 不然不知道要摸多久.
2 楼 nigelzeng 2012-12-03  
hyraxer 写道
  你的问题我全部依次遇到...如果你没写出来 我大概要折腾很久,,按照你的解决方案依次解决  感觉很perfect啊.

握爪,哈~ 非常荣幸能够帮助到你
1 楼 hyraxer 2012-12-02  
  你的问题我全部依次遇到...如果你没写出来 我大概要折腾很久,,按照你的解决方案依次解决  感觉很perfect啊.

相关推荐

    python模块MySQLdb安装失败部分原因补丁

    python安装模块MySQLdb时,提示python2.7未安装,安装失败时,命令行python register.py,然后重新安装MySQLdb,就能正确安装。

    python-MySQLdb安装包

    这个包里有两个包,都可以用来在windows上安装python-MySQLdb,选择其中一种就可以!我比较喜欢用-master那个包,因为只要解压后执行python setup.py install就可以了。另一个包在安装时若出现找不到python2.7的安装...

    windows下Python,Django安装MySQLdb需要的2个ddl文件

    在使用`MySQLdb`之前,还需要确保已经安装了MySQL服务器和客户端,以及在Python环境中安装了`MySQLdb`库本身。你可以使用pip来安装,命令如下: ``` pip install mysqlclient ``` 或者,如果你的系统中已经有旧版本...

    python2.7.5 安装python-mysqldb出错问题my_config.h: No such file or directory.

    python2.7.5安装mysqldb失败, my_config.h: No such file or directory. 解决办法:1)mysql版本太高,可降低版本 --此路一般不会考虑 2)注意下载的mysql-python的版本是否符和当前版本兼容 2)下载附件中的文件,...

    python的mysqldb安装步骤详解

    Python的mysqldb安装步骤详解 在Python编程中,与MySQL数据库进行交互是常见的需求,而MySQLdb就是Python中用于连接MySQL数据库的一个重要模块。它为Python程序员提供了一个符合Python DB-API (PEP 249)标准的接口...

    Win环境下配置Python3 MySQLdb

    在Windows环境下配置Python3与MySQLdb的连接是一个常见的任务,特别是在进行数据分析或Web开发时。MySQLdb是Python的一个数据库适配器,它允许Python程序与MySQL数据库进行交互。但是,Python 3.x版本中不再直接支持...

    python MySQLdb 64位win7安装版本

    5. **测试连接**:安装完成后,可以在Python环境中尝试导入`MySQLdb`,如果能成功导入且无任何错误,那么安装就完成了。你可以编写简单的代码来测试连接到MySQL数据库,例如: ```python import MySQLdb try: ...

    离线安装python2的MySQLdb

    下面我们将详细探讨如何在离线环境下安装适用于Python2的MySQLdb模块。 首先,我们需要了解MySQLdb模块的依赖。MySQLdb主要依赖于MySQL的Connector/C库(即C语言编写的MySQL客户端库)和Python的ctypes库。因此,在...

    python mysqldb

    在安装或使用Python的MySQLdb时,这些依赖库有时需要被正确地放置在系统路径中,以确保Python程序可以正常调用MySQL的功能。 `MySQL-python-1.2.2.win32-py2.6.exe`是一个可执行文件,它是MySQLdb的安装包,针对...

    python下MySQLdb使用.docx

    ### Python 下 MySQLdb 使用详解 #### 一、MySQLdb 概述 `MySQLdb` 是一个用于 Python 的 MySQL 数据库接口库,它提供了一个简单易用的方式来与 MySQL 数据库进行交互。通过 `MySQLdb`,开发者能够轻松地执行 SQL ...

    python下MySQLdb使用.pdf

    python下MySQLdb使用.pdf

    python2.6-MySQLdb

    python2.6-MySQLdb,包括python2.6安装包、MySQLdb for python2.6安装包、MySQLdb使用配置,为想学习Python操作mysql数据库的同学提供了极大的方便。。。

    windows下python之mysqldb模块安装方法

    主要介绍了windows下python之mysqldb模块安装方法,需要的朋友可以参考下

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

    总结来说,安装MySQLdb模块需要经过下载、解压、编译和安装等步骤,过程中可能会遇到`mysql_config`、`python-dev`和`setuptools`等相关依赖问题,逐一解决后即可顺利完成安装。在遇到问题时,Google和其他开发者...

    Python-MySQLdb-example:Python-MySQLdb-example

    Python-MySQLdb-examplePython-MySQLdb-example本文主要介绍通过MySQLdb实现Python对MySQL数据库的访问和操作。备注:execute 把一条查询语句发送给mysql服务器,这里有两种情况:CREATE、INSERT、DELETE、UPDATE、...

    mysql_read.rar_Python MySQLdb_connect_python

    在Python编程中,MySQLdb模块是连接MySQL数据库的一个常用库,它为Python提供了与MySQL交互的接口。本教程将深入探讨如何使用Python的MySQLdb库连接到MySQL数据库,并执行基本的读取操作。 首先,安装MySQLdb库是...

    关于python的MySQldb模块的入库应用实例

    关于python的MySQldb模块的入库应用实例,将某文件夹下的文件解析后入库并删除原文件。

    python下MySQLdb使用[归纳].pdf

    需要注意的是,安装后可能会遇到`DeprecationWarning`,这是由于Python 2.6不再支持sets模块,但MySQLdb中仍引用了这个模块。解决这个问题,需要在MySQLdb的相关源文件中做相应的修改,将sets模块的引用替换或注释掉...

Global site tag (gtag.js) - Google Analytics