在OSX上为Python 2.6安装MySQLdb
我正在按照这些说明为Python 2.6安装MySQLdb:
http://www.tutorialspoint.com/python/python_database_access.htm
当我到达这一步:$ python setup.py build
时,出现了错误:
users-MacBook-Pro:MySQL-python-1.2.3 user$ sudo python setup.py build sh: mysql_config: command not found Traceback (most recent call last): File "setup.py", line 15, in metadata, options = get_config() File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "/my_crawler/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found
我已经安装了MySQL,并且将它添加到了我的bash
中。
我哪里做错了?
4 个回答
虽然PlanetUnknown的回答方向是对的,但我希望这组更明确的步骤能对你有帮助:
问题出在MySQLdb
不知道去哪里找mysql_config
文件。
所以,我们先找到MySQLdb
需要的mysql_config
文件,然后把这个位置放到它的site.cfg
文件里,这样以后它就能找到这个文件了。
因为提问者是在Mac上,所以打开终端,找到site.cfg
文件:
sudo find / -name 'site.cfg'
等几秒钟,它应该会显示出绝对路径,稍后我们会用vi
来编辑这个文件。但首先,找到mysql_config
文件:
sudo find / -name 'mysql_config'
在编辑site.cfg
文件之前,确保你已经把mysql_config
的路径复制到剪贴板上。
当你在编辑器中打开site.cfg
后,找到指定mysql_config
路径的那一行。它可能指向了错误的路径,或者干脆被注释掉了。不管怎样,把你剪贴板上正确的路径粘贴到原来的位置上。
现在你应该在那个文件里看到类似这样的行:
mysql_config = /usr/local/path/to/mysql_config
保存这个文件。
现在应该可以运行了,试试看吧。
export PATH=$PATH:/usr/local/mysql/bin/
这个应该能解决你的问题,因为系统找不到mysql_config这个文件。
它不是在找'mysql',而是在找'mysql_config'。你可以在bash里运行'which mysql_config'来看看。可能找不到这个文件。这就是为什么构建的时候也找不到它。你可以试着运行'locate mysql_config',看看有没有结果。这个文件的路径要么在你shell的$PATH环境变量里,要么需要在模块的setup.py文件里明确指定,因为它可能在某个特定的位置寻找这个文件。
如果你是从源代码安装mysql到/usr/local的话,我认为这个文件会在/usr/local/mysql/bin/mysql_config这个位置。