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版本的,这样可以兼容更多的模块
Python MySQLdb Mac安装遇到的问题的更多相关文章
- Windows及MAC 安装Python3.7.4
Windows没有Python环境,Mac自带Python 2,所以开发者需要下载Python 3进行开发相关工作,此文章介绍如何安装Python,Mac安装前可以在终端数输入python查看自带版本 ...
- Mac MySQLdb模块安装,可算解决了
转载:http://blog.csdn.net/janronehoo/article/details/25207825 短评:这篇文章感觉是比较全面解决Mac MySQLdb模块安装问题的文章了,特别 ...
- Mac安装mysqldb
一. 安装mysql (一)下载地址 https://pan.baidu.com/s/1slw50LZ 安装成功后,在系统偏好设置里有MySQL图标,可以启动或关闭MySQL 二. Mysql roo ...
- macOS安装Python MySQLdb
macOS安装Python MySQLdb 0. 参考 Mac OS X - EnvironmentError: mysql_config not found 1. 背景 import MySQLdb ...
- Python MySQLdb在Linux下的快速安装
在家里windows环境下搞了一次 见 python MySQLdb在windows环境下的快速安装.问题解决方式 http://blog.csdn.NET/wklken/article/deta ...
- Python的MySQLdb模块安装,连接,操作,增删改
1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本 python -V 检查python版本 2. 安装mysql, 比如安装在/usr/local/my ...
- cygwin 下安装python MySQLdb
cygwin 下安装python MySQLdb 1) cygwin 更新 运行 cygwin/setup-x86_64.exe a 输入mysql,选择下面的包安装: libmysqlclient- ...
- python之mysqldb模块安装
之所以会写下这篇日志,是因为安装的过程有点虐心.目前这篇文章是针对windows操作系统上的mysqldb的安装.安装python的mysqldb模块,首先当然是找一些官方的网站去下载:https:/ ...
- python MySQLdb在windows环境下的快速安装
python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下 ...
随机推荐
- dede修改移动文档的js
dede后台弹框修改: 想做个类似文章列表的移动功能,弹框,然后修改成功到表 先在list.js里复制一份moveArc的方法,到archives_do.php里复制一份moveArchives的方法 ...
- Week14(12月11日):路由
Part I:提问 =========================== 1.Visual Studio 2013自带ASP.NET MVC最高版本为(). A.3 B.4 C.5 D.6 2 ...
- Nginx日志增长过快详细分析
前言: Nginx日志里面Mobileweb_access.log增长特别大,一天上百兆,将近100W的访问记录,按照我们目前的规模,热点用户才500个左右,就算人人用手机app访问,怎么可能会有这么 ...
- c++ 对象作为参数传递
对象作为参数传递时是传值.把实参的对象赋值给形参.因此效率有点低. c++传参方式可以分为2种: 1.传值 (指针作为参数,本质上也只是把地址作为值传递了而已). 2.传引用. 所以,一切传递方式不是 ...
- HNOI2016 网络
题目 朴素算法 在线. 树链剖分套一个堆. 时间复杂度\(O(n (\log n)^3)\). 分治 朴素算法中,套一个堆是为了支持删除操作. 采用以下分治可以避免删除操作: 每次对时间\([l,r] ...
- IT第十八天 - 类的封装、继承、重载、上周总结★★★
IT第十八天 上午 封装 1.关键字this,是表示该类在实例化时的对象,即this.表示为该对象的属性 2.类的数据保护,set.get方法的写法规则,为了之后的反射机制的读取数据,set方法中对于 ...
- Java学习之IO之File类一
File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...
- 飘逸的python - 简单探索time模块
time模块中方法众多,不过在了解本质和联系之后,就会发现其实很简单. 在python中可以用3种方式来表达时间.看似很乱,其实就只是这3种变来变去来回转换而已. 1.时间戳 2.时间tuple,由9 ...
- 【Android】ScrollView+GridView 显示问题
在使用Android的ScrollView里面嵌套GridView时,设置android:layout_height="wrap_content"属性,运行界面的效果不会出现全部数 ...
- 微信红包API接口(PHP)
根据微信高级红包接口,开发PHP版本的API接口,现在进行主要代码分析. 红包接口调用请求代码,所有请求参数为必填参数与文档对应: class Wxapi { private $app_id = 'w ...