pydev-python 链接mysql数据库(mac系统)
来源:互联网 发布:淘宝如何上首页 编辑:程序博客网 时间:2024/05/22 05:06
1.首先实现命令行下可运行mysql
在mac os上安装MySQLdb,遇到了很多问题,总结一下:
首先,如果用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。
所以只能自己去下载http://sourceforge.net/projects/mysql-python/files/,我下载的是MySQL-python-1.2.4b4.tar.gz。
解压后,修改site.cfg,其中注释了一行:
- mysql_config = /usr/local/mysql/bin/mysql_config
把注释去掉,路径改为你安装的mysql对应的位置。
然后命令行进入解压的MySQL-python-1.2.4b4目录,执行sudo python setup.py install进行安装。
安装过程中又遇到很多问题,然后在网上找到了两个解决方案。但是这样安装还是会有问题,因为我使用eclipse+pydev的开发环境,这个环境还是不能使用MySQLdb。但是用这两个解决方法,可以在命令行下 import MySQLdb了,所以也记下来看看将来有没更完美的解决方法。
第一个问题是安装过程提示:Library not loaded: libmysqlclient.18.dylib
根据http://blog.sina.com.cn/s/blog_68f3bc280100supn.html,要么在环境变量添加export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 要么就软链接,在命令行里执行:
- sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
第二个问题是安装过程提示:no suitable image found.Did find:/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture
根据http://www.liuhuadong.com/archives/1628,可以这样解决:
在/Users/你的用户名/ 目录下编辑或添加隐藏文件.bash_profile,添加环境变量:
- PATH="/usr/local/mysql/bin:${PATH}"
- export PATH
- export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
- export VERSIONER_PYTHON_PREFER_64_BIT=yes
- export VERSIONER_PYTHON_PREFER_32_BIT=yes
然后再在命令行进入解压的MySQL-python-1.2.4b4目录,输入:
- sudo python setup.py build
- sudo python setup.py install
重新编译和执行安装。
这样以后在命令行下执行import MySQLdb就没有问题
2.pydev中的配置
Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
解决方案是在shell里执行(注意改路径):
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
3.测试
import MySQLdbtry: conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306) cur=conn.cursor() cur.execute('select * from mytable') results=cur.fetchall() for r in results: print r cur.close() conn.close()except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])
输出结果,数据库查询成功:
- pydev-python 链接mysql数据库(mac系统)
- mac python链接数据库
- python链接Mysql数据库
- python链接mysql数据库
- Python链接Mysql数据库
- Python链接Mysql数据库
- python 链接MySQL数据库
- python链接Mysql数据库
- mac系统,eclipse下安装python插件PyDev步骤
- 【Python】Windows平台下Python、Pydev连接Mysql数据库
- Mac配置Python开发环境(Eclipse +Pydev+Python)
- Mac配置Python开发环境(Eclipse +Pydev+Python)
- Mac配置Python开发环境(Eclipse +Pydev+Python)
- Mac配置Python开发环境(Eclipse +Pydev+Python)
- Mac配置Python开发环境(Eclipse +Pydev+Python)
- Python使用链接Mysql数据库
- Mac系统安装Mysql数据库
- Mac下Python与Mysql链接
- android xml解析
- [转]Golang适合高并发场景的原因分析
- 程序员必须知道的10大基础实用算法及其讲解
- C++ 习题 输出日期时间--友元函数
- prime number test in Ruby
- pydev-python 链接mysql数据库(mac系统)
- iOS APNS远程推送(最详细解析)
- ubuntu12.04用cross over运行sketchup 8的错误解决办法
- JavaScript-RegExp对象只能使用一次问题解决方法
- 数据挖掘:网络挖掘技术——微博文本特征提取
- iOS中单例有那些
- Ubuntu上HBase伪分布的配置
- 网络编程
- 定时任务:Java中Timer和TimerTask的使用