mysql pydev_pydev-python 链接mysql数据库(mac系统)
在mac os上安裝MySQLdb,遇到了非常多問題,總結(jié)一下:
首先。假設(shè)用sudo easy_install mysql-python命令安裝,基本上不會(huì)成功的,原因有兩個(gè):一是找不到mysql_config位置,二是如今基本上安裝的是64位的系統(tǒng)和64位的python,和默認(rèn)的32位安裝包沖突。
解壓后,改動(dòng)site.cfg,當(dāng)中凝視了一行:
mysql_config?=?/usr/local/mysql/bin/mysql_config
把凝視去掉。路徑改為你安裝的mysql相應(yīng)的位置。
然后命令行進(jìn)入解壓的MySQL-python-1.2.4b4文件夾,運(yùn)行sudo python setup.py install進(jìn)行安裝。
安裝過程中又遇到非常多問題,然后在網(wǎng)上找到了兩個(gè)解決方式。可是這樣安裝還是會(huì)有問題,由于我使用eclipse+pydev的開發(fā)環(huán)境。這個(gè)環(huán)境還是不能使用MySQLdb。可是用這兩個(gè)解決方法,能夠在命令行下 import MySQLdb了,所以也記下來看看將來有沒更完美的解決方法。
第一個(gè)問題是安裝過程提示:Library not loaded: libmysqlclient.18.dylib
依據(jù)http://blog.sina.com.cn/s/blog_68f3bc280100supn.html。要么在環(huán)境變量加入export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 要么就軟鏈接,在命令行里運(yùn)行:
sudo?ln?-s?/usr/local/mysql/lib/libmysqlclient.18.dylib?/usr/lib/libmysqlclient.18.dylib
第二個(gè)問題是安裝過程提示: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
在/Users/你的username/ 文件夾下編輯或加入隱藏文件.bash_profile。加入環(huán)境變量:
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
然后再在命令行進(jìn)入解壓的MySQL-python-1.2.4b4文件夾,輸入:
sudo?python?setup.py?build
sudo?python?setup.py?install
又一次編譯和運(yùn)行安裝。
這樣以后在命令行下運(yùn)行import MySQLdb就沒有問題
2.pydev中的配置
前提是完畢了上面的步驟
首先要打開preference-pydev-interpreter-python中,點(diǎn)擊autoconfig勾選上有mysql的那個(gè)包,又一次導(dǎo)入。
這時(shí)候加入importMySQLdb盡管不報(bào)錯(cuò)。可是一旦運(yùn)行,就會(huì)報(bào)錯(cuò):
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里運(yùn)行(注意改路徑):
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.測試
在shell里輸入下面代碼測試下是否鏈接成功
import MySQLdb
try:
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])
輸出結(jié)果。數(shù)據(jù)庫查詢成功:
總結(jié)
以上是生活随笔為你收集整理的mysql pydev_pydev-python 链接mysql数据库(mac系统)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优达学城 UdaCity 纳米学位
- 下一篇: linux cmake编译源码,linu