资讯专栏INFORMATION COLUMN

Mac环境下为Python安装MySQLdb库时遇到的诸多问题

tyheist / 1485人阅读

摘要:跟着的节奏今天学到了第五章模型结果就只是在环境下为安装库时遇到的诸多问题。花了四个多小时终于把问题解决了,并且成功创建了我的第一个的第一个和。趁现在还有点记忆,把中途遇到的各种问题汇总如下,我相信将来肯定还是会有很多人遇到。

跟着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 
    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 "", line 1, in 
  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 
    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://www.ucloud.cn/yun/46316.html

相关文章

  • Redash本地开发环境搭建

    摘要:修改解释器版本适用开发。创建创建数据库并建表本地安装并创建数据库,安装的过程此处省略,可以百度查下。修改下面数据库连接信息运行表创建语句本地安装并启动过程读者可以百度查下,本地安装之后关于的配置不需要修改。 开发环境搭建步骤 建议使用mac和ubuntu系统,同事刚开始使用windows安装,过程中遇到很多问题,改用ubuntu系统,本文适用mac和ubuntu系统。 官网建议使用虚拟...

    LancerComet 评论0 收藏0
  • Mac安装MySQL-python

    摘要:使用安装报错信息中有这两行,没有命令先找下这个命令在哪里,查到是下命令。解决方法添加一个软链接,将命令放到环境变量下然后再执行安装命令看到安装提示有个警告,安装的版本是检测安装是否成功使用方法来检测模块是否安装。 使用easy_install安装 sudo easy_install MySQL-python 报错信息中有这两行,没有mysql_config命令 sh: mysql_co...

    googollee 评论0 收藏0
  • Mac安装MySQL-python

    摘要:使用安装报错信息中有这两行,没有命令先找下这个命令在哪里,查到是下命令。解决方法添加一个软链接,将命令放到环境变量下然后再执行安装命令看到安装提示有个警告,安装的版本是检测安装是否成功使用方法来检测模块是否安装。 使用easy_install安装 sudo easy_install MySQL-python 报错信息中有这两行,没有mysql_config命令 sh: mysql_co...

    xingqiba 评论0 收藏0
  • Python MySQLdb模块

    摘要:模块安装系统报错安装如果是系统,则需要先安装服务。使用字典形式返回数据执行命令,并不会直接打印可以使用来读取。 Python MySQLdb模块 安装 系统:Ubuntu 14.04 MySQLdb $ pip install Mysql-python -> 报错:EnvironmentError: mysql_config not found (安装libmysqlclient-de...

    ccj659 评论0 收藏0
  • Django1.7+python 2.78+pycharm使用mysql数据库

    摘要:配置好和后,使用创建新项目。一开始因为非官方没有使,倒是意外简单的成功了。。。在的里面添加数据库引擎数据库名用户名密码数据库主机,默认为数据库端口,默认为 配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教程的原则,好像就是说开发环境要和生产环境尽量的...

    dingding199389 评论0 收藏0

发表评论

0条评论

tyheist

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<