在Mac OS上搭建Python的开发环境
一.安装python
mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python。这里有两种方案安装:
1.homebrew
brewinstallpython
这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版.
2.从官网下载安装
大家可以从https://www.python.org/download下载安装最新版的python,安装比较无脑,一路按下去就OK,缺点是以后升级,卸载都得自己维护.
这两个方法安装的python的位置是不一样的,大家可以用:
whichpython
来查看安装位置.安装完成后在终端中键入python来验证安装是否成功.
二.安装pip
这里好多文章中说要先安装easy_install,其实是不用的.
1.我们先获取pip安装脚本:
wgethttps://bootstrap.pypa.io/get-pip.py
如果没有安装wget可以去这里将所有内容复制下来,新建get-pip.py文件,将内容拷进去就OK了.
2.安装pip
sudopythonget-pip.py
用python执行刚才获取的脚本,这里sudo可以选择使用,若遇到类似这个报错则必须加sudo:
Exception: Traceback(mostrecentcalllast): ... OSError:[Errno13]Permissiondenied:'XXX/pip-0.7.2-py2.7.egg/EGG-INFO/dependency_links.txt' Storingdebuglogforfailurein/Users/bilt/.pip/pip.log
安装成功后可以在终端中键入pip来检测,如果不行重启终端后尝试.
3.修改pip源
在天朝,由于功夫网的原因,使用pip安装一些模块会特别慢甚至无法下载,因此我们需要修改pip的源到国内的一些镜像地址,特别感谢国内无私奉献的组织~
首先进入HOME路径:
cd~
创建.pip目录:
mkdir.pip
创建pip.conf文件:
touchpip.conf
大家可以用自己喜欢的编辑器打开pip.conf文件,我现在使用的时v2ex的源,所以添加:
[global] index-url=http://pypi.v2ex.com/simple
大家可以把index-url的值设置为自己实际源的地址.
至此pip源修改成功,以后使用pip安装模块时都会从这个源去下载安装,大家可以自行测试一下.
三.其他模块安装
1.Pillow/PIL
想用python处理图片,自然少不了PIL这个模块,由于PIL长期没有更新了,所以有了Pillow这个模块,依赖于PIL,新版的pip安装后会自带Pillow,但是好像没有zlib模块,所以会报错:
File"/Library/Python/2.7/site-packages/PIL/Image.py",line1105,inpaste im.load() File"/Library/Python/2.7/site-packages/PIL/ImageFile.py",line190,inload d=Image._getdecoder(self.mode,d,a,self.decoderconfig) File"/Library/Python/2.7/site-packages/PIL/Image.py",line389,in_getdecoder raiseIOError("decoder%snotavailable"%decoder_name) IOError:decoderzipnotavailable
因此我们需要手动重新安装:
sudopipinstall-UPillow
2.MySQLdb
在下面的网址下载mysqldb模块:
http://sourceforge.net/projects/mysql-python/
在macosx直接双击解压,命令行进入解压后的目录,执行pythonsetup.pybuild
如果有
sh:mysql_config:commandnotfound
提示,我们需要编辑下mysql的路径,使用vim打开setup_posix.py
找到:
mysql_config.path="mysql_config"
改为:
mysql_config.path="/usr/local/mysql/bin/mysql_config"
然后执行:
sudopythonsetup.pyinstall
安装成功后,在命令行输入python进入python环境,输入importMySQLdb,我的环境中报下面的错误:
>>>importMySQLdb
Traceback(mostrecentcalllast): File"<stdin>",line1,in<module> File"MySQLdb/__init__.py",line19,in</module><module> import_mysql ImportError:dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so,2):Librarynotloaded:libmysqlclient.18.dylib Referencedfrom:/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Reason:imagenotfound
解决方法,我们建立一个软链就可以了
sudoln-s/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib
这样我们就在macosx的python环境下安装好了MySQLdb模块