zoukankan      html  css  js  c++  java
  • mac os 上安装mysqldb血泪史

    昨天下午在mac上安装mysql-python一直未遂今天查了很多资料终于成功了 最后还是在stackoverflow点击打开链接(好网站啊,一般有什么技术问题在这都能找到)上找到了答案,废话少数:

    首先,下载MySQLdb:http://sourceforge.net/projects/mysql-python/

    下载MySQL-python-1.2.3.tar.gz

    解压,运行setup.py:
    python setup.py install
    报错:

    sh: mysql_config: command not found
    Traceback (most recent call last):
      File "setup.py", line 15, in <module>
        metadata, options = get_config()
      File "/Users/***/Downloads/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "/Users/***/Downloads/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

    参考:http://www.southsearepublic.org/article/2416/read/environmenterror_mysql_config_not_found/installing_mysqldb_for_python_on_mac_osx/
    发现要修改site.cfg
    mysql_config = /usr/local/mysql/bin/mysql_config
    让mysql_config指向mysql在mac os中的安装位置。

    之后再用高权限运行
    sudo python setup.py install


    如果运行的时候,还有问题:
    >>> import MySQLdb
    /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.pyc, but /Users/***/Downloads/MySQL-python-1.2.3 is being added to sys.path
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "MySQLdb/__init__.py", line 19, in <module>
        import _mysql
      File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 7, in <module>
      File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 6, in __bootstrap__
    ImportError: dlopen(/Users/***/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
      Referenced from: /Users/***/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so
      Reason: image not found

    那么就需要解决动态引入的问题了(重新做一遍,并且设置环境变量):

    $ sudo python setup.py clean

    $ sudo python setup.py build

    $ sudo python setup.py install

    export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

    $python

    >>> import MySQLdb
    /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/_mysql.pyc, but /Users/***/Downloads/MySQL-python-1.2.3 is being added to sys.path

    >>> conn=MySQLdb.connect(host="localhost",user="root",passwd="root",db="mysql")
    >>> cursor =conn.cursor()
    >>> sql ="select * from user"
    >>> cursor.execute(sql)
    7L
    >>> row=cursor.fetchone()
    >>> print row
    ('localhost', 'root', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0L, 0L, 0L, 0L, '', '')

    能够读取mysql.user表的信息了,说明已经mysqldb已经安装成功。

    参考:http://stackoverflow.com/questions/1465846/install-mysqldb-on-snow-leopard/6537345#6537345


    如果还是在eclipse中有问题,那就采用这里的办法 http://yanghao.org/blog/archives/76

    解决办法: eclipse->偏好设置->Pydev->Interpreter-Python->Environment里面增加下面内容,看图:

    Eclipse中配置MySQLdb模块

    Window ——> Preferences ——> PyDev ——> Interpreter-Python ——> Forced Builtins ——> New... —— > 输入MySQLdb ——> OK


  • 相关阅读:
    LeetCode 078. 子集 dfs
    LeetCode 404. 左叶子之和 树遍历
    LeetCode 226. 翻转二叉树 递归
    C# String.Format大全 去 decimal 后面的 0
    HTML readyState 属性 iframe onreadystatechange事件
    crm 4 IFRAME 元素隐藏
    在MS CRM 4.0中引用JS文件
    crm 4 隐藏自定义 toolbar
    crm 4 UserHasRole
    微信JSSDK上传多张图片
  • 原文地址:https://www.cnblogs.com/lixingle/p/3313059.html
Copyright © 2011-2022 走看看