zoukankan      html  css  js  c++  java
  • Python MySQLdb Mac安装遇到的问题

    Mac 下使用Python 连接Mysql 数据库,使用到模块MySQLdb,各种问题都出现,搜集整理下,最后发现最关键的还是Mac 下的Python 版本问题

    前置条件:
    1. 已经安装mysql 数据库,并且配置环境变量
    建议使用:
    sudo ln -s /usr/local/mysql/bin/* /usr/bin
    这样建立软链接,可以快速访问
    2. 确定Python 版本,下载对应的MySQLdb
    3. 安装Gcc
    4. 配置环境变量如下:
    (添加Mysql 的路径,Mysql lib,Python 路径,Python 用多少位运行)

        export PATH=$PATH:/usr/local/mysql/bin 
        export DYLD_LIBRARY_PATH=/usr/local/mysql/lib 
        export PYTHON_HOME=$PATH:System/Library/Frameworks/Python.framework/Versions/2.7/bin
        export VERSIONER_PYTHON_PREFER_32_BIT=yes
        export VERSIONER_PYTHON_PREFER_64_BIT=yes



    安装步骤:
    1. 下载对应的MySQLdb 文件
    http://sourceforge.net/projects/mysql-python/
    2. 解压文件,修改里面site.cfg
    找到 #mysql_config = /usr/local/bin/mysql_config
    井号去掉,并且修改自己的路径 mysql_config = /usr/local/mysql/bin/mysql_config
    3. 打开命令行终端cd 到 刚才的解压目录
    python setup.py clean
    python setup.py build
    python setup.py install
    执行之后就会提示安装成功了,之后推出命令行,试试 import MySQLdb 看看是否成功,即可


    安装过程出现的问题:

    ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib

    解决办法(建立一个软连接):
    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

    ImportError:dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so,2):nosuitable image found.Didfind:/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

    解决办法:
    检查mysql 是否是64 位的,Python 是否是64 位的模式
    检查mac是否存在多个版本的Python,因为在安装MySQLdb 需要clean,build,install,
    在 build 的过程中,可能会出现是build 的版本,与导入包的版本不一致 ,所以导致问题

    Ps:
    如果上述的方法都不行的话,请检查你的Python 是否是
    System/Library/Frameworks/Python.framework/Versions/2.7/bin ,只有python 是System/Library 这个目录下的python ,才可以编译通过

    另外python 建议使用32版本的,这样可以兼容更多的模块

  • 相关阅读:
    为什么使用C#开发软件的公司和程序员都很少?
    使用Redis之前5个必须了解的事情
    这段代码为什么捕获不到异常呢?谁能给个解释,谢谢。
    git报错
    C# 常用类库(字符串处理,汉字首字母拼音,注入攻击,缓存操作,Cookies操作,AES加密等)
    你所不知道的 CSS 负值技巧与细节
    CSS 属性选择器的深入挖掘
    探秘 flex 上下文中神奇的自动 margin
    CSS 火焰?不在话下
    不可思议的纯 CSS 实现鼠标跟随效果
  • 原文地址:https://www.cnblogs.com/xinleishare/p/5262931.html
Copyright © 2011-2022 走看看