wordpress 知名网站,网站安全建设工作总结,档案室建设网站,网站策划建站在mac os上安装MySQLdb#xff0c;遇到了非常多问题#xff0c;总结一下#xff1a;首先。假设用sudo easy_install mysql-python命令安装#xff0c;基本上不会成功的#xff0c;原因有两个#xff1a;一是找不到mysql_config位置#xff0c;二是如今基本上安装的是64位…在mac os上安装MySQLdb遇到了非常多问题总结一下首先。假设用sudo easy_install mysql-python命令安装基本上不会成功的原因有两个一是找不到mysql_config位置二是如今基本上安装的是64位的系统和64位的python和默认的32位安装包冲突。解压后改动site.cfg当中凝视了一行mysql_config /usr/local/mysql/bin/mysql_config把凝视去掉。路径改为你安装的mysql相应的位置。然后命令行进入解压的MySQL-python-1.2.4b4文件夹运行sudo python setup.py install进行安装。安装过程中又遇到非常多问题然后在网上找到了两个解决方式。可是这样安装还是会有问题由于我使用eclipsepydev的开发环境。这个环境还是不能使用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在/Users/你的username/ 文件夹下编辑或加入隐藏文件.bash_profile。加入环境变量PATH/usr/local/mysql/bin:${PATH}export PATHexport DYLD_LIBRARY_PATH/usr/local/mysql/lib/export VERSIONER_PYTHON_PREFER_64_BITyesexport VERSIONER_PYTHON_PREFER_32_BITyes然后再在命令行进入解压的MySQL-python-1.2.4b4文件夹输入:sudo python setup.py buildsudo python setup.py install又一次编译和运行安装。这样以后在命令行下运行import MySQLdb就没有问题2.pydev中的配置前提是完毕了上面的步骤首先要打开preference-pydev-interpreter-python中点击autoconfig勾选上有mysql的那个包又一次导入。这时候加入importMySQLdb尽管不报错。可是一旦运行就会报错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.so3.測试在shell里输入下面代码測试下是否链接成功import MySQLdbtry:connMySQLdb.connect(hostlocalhost,userroot,passwdroot,dbtest,port3306)curconn.cursor()cur.execute(select * from mytable)resultscur.fetchall()for r in results:print rcur.close()conn.close()except MySQLdb.Error,e:print Mysql Error %d: %s % (e.args[0], e.args[1])输出结果。数据库查询成功