Mac环境下为Python装置MySQLdb库时碰到的诸多题目

随着The Django Book的节拍本日学到了第五章-模子;结果就只是在Mac环境下为Python装置MySQLdb库时碰到的诸多题目。花了四个多小时终究把题目解决了,而且胜利创建了我的第一个django app的第一个database 和 table。趁如今还有点影象,把半途碰到的种种题目汇总以下,我置信未来一定照样会有很多人碰到。

在Mac下装置和设置MySQL 应当是很简单的操纵,不过我还真碰到一点小题目,教程能够移步看这篇文章 >>> http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html

在挑选MySQL版本下载的时刻,你的Mac应当是64位的。假如不那么肯定,能够『关于本机>更多信息>体系报告>软件>偏好设置面板:64位,是』

装置Python的MySQLdb库 我用的是比较笨的要领,小白能够参考 下载地点:http://sourceforge.net/projects/mysql-python/files/

然后,痛楚的节拍就最先了!!!

解压缩到桌面MySQLdb/

终端进入MySQLdb目次

cd desktop/MySQLdb

实行以下指令

python setup.py build

假如你跟我一样不幸的话,你会碰到跟我一样的报错

sh: mysql_config: command not found
Traceback (most recent call last):
  File "setup.py", line 18, in <module>
    metadata, options = get_config()
  File "/Users/daodao/Desktop/Mysql/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/Users/daodao/Desktop/Mysql/setup_posix.py", line 25, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

细致看下报错信息中的关键词,这个时刻,你须要在修正MySQLdb目次下面的setup_posix.py的设置信息

mysql_config.path = "mysql_config"

修正为我本机的mysqlconfig设置途径,我的mysqlconfig途径是/usr/local/mysql-5.6.14-osx10.7-x8664/bin/mysqlconfig,你能够查看下你本身的途径,目次构造应当是一样的。不晓得怎样翻开这个/usr?很简单——翻开一个finder,『前去>前去服务器:usr/』,然后你本身找下 :

mysql_config.path = "/usr/local/mysql-5.6.14-osx10.7-x86_64/bin/mysql_config"

修正config后,我想应当没题目了把,所以继承一最先的操纵,实行setup.py build。好吧,然后照样继承报错,此次跟Xcode相干(我曾装置过Xcode,厥后删了,所以本机没有Xcode开辟环境),报错信息是:

xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist, use xcode-select to change
error: command '/usr/bin/clang' failed with exit status 1

忧郁了,我在Python下面装MySQL,跟Xcode有毛关联?!前面一些题目网上实在都还比较轻易找到解决办法,然则这个题目,网上死活也找不到!末了无法抱着试一试的主意,从新下载装置了下Xcode,继承尝试setup.py build操纵。

好吧,题目解决了!不是迥殊清晰什么原因,然则听网上有人说彷佛是因为Python MySQL环境须要装置GCC,而Xcode内里的command_line_tools 支撑GCC。你能够不去管Xcode,本身装置GGC的环境,我如今还没研讨啥叫GGC,先不管了。

——————————11月3日更新————————————

commandlinetools 包能够直接从苹果服务器高低载到,然则你须要有Apple开辟者账号,没有?能够看这里:http://railsapps.github.io/xcode-command-line-tools.html

我稍有洁癖,从新实行一遍吧,趁便加深下对操纵的邃晓。

—————————————————————————————————

python setup.py clean
python setup.py build
sudo python setup.py install

实行到这里都没有再报错了。然则题目还在继承,终端进入Python测试结果

import MySQLdb

照样不怎样顺遂。。。报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/_mysql.so
  Reason: image not found

网上找了一圈,题目解决要领是:

用vi指令在 User/翻开 .bash_profile 文件,这是一个隐蔽文件。

vi .bash_profile

进入编辑状况,在末了增加

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib"

:wq 保留退出终端

从新切换到Python开辟环境下, import MySQLdb 返回一般。题目搞定了,然则临时还不邃晓什么道理。先留着,今后搞懂了以后再回来更新文章。

继承在终端中输入 mysql -uroot

反应:-bash: mysql: command not found。这个题目我也许晓得,是因为体系默许会查找/usr/bin下的敕令,假如这个敕令不在这个目次下,我们须要做的就是映照一个链接到/usr/bin目次下,相当于竖立一个链接文件。 起首得晓得mysql敕令或mysqladmin敕令的完全途径,比方mysql的途径是:/usr/local/mysql/bin/mysql,然后实行敕令:

ln -s /usr/local/mysql/bin/mysql /usr/bin

O了!背面的操纵一切顺遂!

    原文作者:盗盗
    原文地址: https://segmentfault.com/a/1190000000329202
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞