MySQLdb模块的安装和问题处理
来源:互联网 发布:紫鸟数据魔方收费吗 编辑:程序博客网 时间:2024/06/06 02:21
安装过程主要是以下几步
wget http://nchc.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gztar xfz MySQL-python-1.2.3.tar.gzcd MySQL-python-1.2.3wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2bsh setuptools-0.6c11-py2.4.eggfind / -name mysql_config vi setup_posix.pypython setup.py buildpython setup.py install
基本环境:
目标机器数据库Mysql 4.1.7-standard,linux版本 Red Hat 4.1.2-14,Python 2.4.3
1.搭建数据库操纵环境
Python用的是MySQLdb这个库。从http://sourceforge.net/projects/mysql-python/下载最新的MySQLdb包:
wget http://nchc.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar xfz MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
阅读里面的README,搞清楚安装步骤.
这个过程需要setuptools
wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b
sh setuptools-0.6c11-py2.4.egg
首先查找mysql_config的位置,使用find / -name mysql_config ,比如我的在/usr/local/mysql/bin/mysql_config
修改setup_posix.py文件,在26行:
mysql_config.path = "mysql_config" 修改为:
mysql_config.path = "/usr/local/mysql/bin/mysql_config"
python setup.py build
python setup.py install
安装完进行测试,如成功则OK,否则要进行错误处理
我就遇到了
>>> import MySQLdb/usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.pyc, but /home/root1/MySQL-python-1.2.3 is being added to sys.pathTraceback (most recent call last): File "<stdin>", line 1, in ? File "MySQLdb/__init__.py", line 19, in ? import _mysql File "build/bdist.linux-i686/egg/_mysql.py", line 7, in ? File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__ImportError: /home/root1/.python-eggs/MySQL_python-1.2.3-py2.4-linux-i686.egg-tmp/_mysql.so: undefined symbol: compress
问题1:主要是编译时候少了-lz造成undefined symbol:compress,所以在删除build目录后,python setup.py build执行最后会看到
gcc -pthread -shared build/temp.linux-i686-2.4/_mysql.o -L/usr/local/mysql-standard-4.1.7-pc-linux-i686/lib -lmysqlclient_r -lpthread -lcrypt -lnsl -lm -lpthread -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -o build/lib.linux-i686-2.4/_mysql.so
gcc -pthread -shared build/temp.linux-i686-2.4/_mysql.o -L/usr/local/mysql-standard-4.1.7-pc-linux-i686/lib -lmysqlclient_r -lpthread -lcrypt -lnsl -lm -lpthread -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -o build/lib.linux-i686-2.4/_mysql.so -lz
问题2:警告UserWarning: Module _mysql was already imported
原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但我在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。
- MySQLdb模块的安装和问题处理
- python安装mysqldb模块遇到的问题和解决方法
- Python的MYSQLdb模块安装
- Python的MySQLdb模块安装
- Python的MySQLdb模块安装
- Python的MySQLdb模块安装
- Python安装MySQLDb模块的种种问题及解决
- Python安装MySQLDb模块的种种问题及解决
- windows 下 python2.6的MySQLdb模块安装问题
- 【MySQLdb模块】CentOS系统下安装的问题
- 在Python安装MySQLdb模块遇见的问题
- 安装MySQLdb出现的问题
- 安装MySQLdb遇到的问题
- windows 下安装 python 的 mysqldb 模块
- SUSE安装python2.4的MySQLdb模块
- Python安装MySQLDb模块的相关步骤
- easy_install安装python的MySQLdb模块
- Python中MySQLdb模块的安装
- CScrollBar 控件的使用
- MyBatis 1章 入门(使用MyBatis完成CRUD)
- MyBatis 2章 MyBatis与Spring整合
- 一、MyBatis简介与配置MyBatis+Spring+MySql
- Java中的transient关键字
- MySQLdb模块的安装和问题处理
- [系统控件重绘教程(一)]重绘NSWindow
- [系统控件重绘教程(二)]重绘NSButton
- ios 通讯录 通过电话号码 查询姓名
- 我让盛大云主机玩个半死
- jstl中<c:forEach>的用法
- MySQL行锁深入研究
- PhoneGap之Storage解读
- 程序与生活:脚踏实地,面对现实