zoukankan      html  css  js  c++  java
  • pydev-python 链接mysql数据库(mac系统)

    1.首先,实现了命令行可以运行mysql

             非常清楚了,直接引用过来,多谢哈。引用:http://www.lihui.info/mac-pydev-mysqldb/
              

             在mac os上安装MySQLdb,遇到了非常多问题,总结一下:

            首先。假设用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是如今基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。

    所以仅仅能自己去下载http://sourceforge.net/projects/mysql-python/files/,我下载的是MySQL-python-1.2.4b4.tar.gz。

    解压后,改动site.cfg,当中凝视了一行:

    1. mysql_config = /usr/local/mysql/bin/mysql_config  

    把凝视去掉。路径改为你安装的mysql相应的位置。

           然后命令行进入解压的MySQL-python-1.2.4b4文件夹,运行sudo python setup.py install进行安装。

           安装过程中又遇到非常多问题,然后在网上找到了两个解决方式。可是这样安装还是会有问题,由于我使用eclipse+pydev的开发环境。这个环境还是不能使用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/" 要么就软链接,在命令行里运行:

    1. 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

    依据http://www.liuhuadong.com/archives/1628,能够这样解决:

    在/Users/你的username/ 文件夹下编辑或加入隐藏文件.bash_profile。加入环境变量:

    1. PATH="/usr/local/mysql/bin:${PATH}"  
    2. export PATH  
    3. export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/  
    4. export VERSIONER_PYTHON_PREFER_64_BIT=yes  
    5. export VERSIONER_PYTHON_PREFER_32_BIT=yes  

    然后再在命令行进入解压的MySQL-python-1.2.4b4文件夹,输入:

    1. sudo python setup.py build  
    2. sudo python setup.py install  

    又一次编译和运行安装。

    这样以后在命令行下运行import MySQLdb就没有问题

    2.pydev中的配置

          前提是完毕了上面的步骤  
         
          首先要打开preference-pydev-interpreter-python中,点击autoconfig勾选上有mysql的那个包,又一次导入。
          这时候加入import MySQLdb尽管不报错。可是一旦运行,就会报错:

    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.so


    3.測试

        在shell里输入下面代码測试下是否链接成功

           

    import MySQLdb
    
    try:
        conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306)
        cur=conn.cursor()
        cur.execute('select * from mytable')
        results=cur.fetchall()
        for r in results:
            print r
        cur.close()
        conn.close()
    except MySQLdb.Error,e:
         print "Mysql Error %d: %s" % (e.args[0], e.args[1])
       

         输出结果。数据库查询成功:


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    SpringCloud Eureka的一些问题
    git branch---删除命令
    go:cannot find main module;see 'go help modules'
    ERROR: yaml.scanner.ScannerError: while scanning for the next token found character ' ' that cannot
    vscode 打开wsl2:ubuntu中的文件进行编辑保存提示没有权限
    Ubuntu20.04 wechat和qq 字体太小,乱码 #
    ubuntu20.4 微信安装
    centos7中在环境变量中添加了GO的PATH,但依然无效
    直接把linux装在了物理机上
    win10 + linux 双系统安装
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4666906.html
Copyright © 2011-2022 走看看