在Mac OS上搭建Python的开发环境


Posted in Python onDecember 24, 2015

一. 安装python

mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python。这里有两种方案安装:

1.homebrew

brew install python

这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版.

2.从官网下载安装
大家可以从https://www.python.org/download下载安装最新版的python,安装比较无脑,一路按下去就OK,缺点是以后升级,卸载都得自己维护.

这两个方法安装的python的位置是不一样的,大家可以用:

which python

来查看安装位置.安装完成后在终端中键入python来验证安装是否成功.

二. 安装pip

这里好多文章中说要先安装easy_install, 其实是不用的.

1.我们先获取pip安装脚本:

wget https://bootstrap.pypa.io/get-pip.py

如果没有安装wget可以去这里将所有内容复制下来,新建get-pip.py文件,将内容拷进去就OK了.

2.安装pip

sudo python get-pip.py

用python执行刚才获取的脚本,这里sudo可以选择使用,若遇到类似这个报错则必须加sudo:

Exception:

Traceback (most recent call last):

...

OSError: [Errno 13] Permission denied: 'XXX/pip-0.7.2-py2.7.egg/EGG-INFO/dependency_links.txt'

Storing debug log for failure in /Users/bilt/.pip/pip.log

安装成功后可以在终端中键入pip来检测,如果不行重启终端后尝试.

3.修改pip源

在天朝,由于功夫网的原因,使用pip安装一些模块会特别慢甚至无法下载,因此我们需要修改pip的源到国内的一些镜像地址,特别感谢国内无私奉献的组织~

首先进入HOME路径:

cd ~

创建.pip目录:

mkdir .pip

创建pip.conf文件:

touch pip.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", line 1105, in paste
 im.load()

 File "/Library/Python/2.7/site-packages/PIL/ImageFile.py", line 190, in load

 d = Image._getdecoder(self.mode, d, a, self.decoderconfig)

 File "/Library/Python/2.7/site-packages/PIL/Image.py", line 389, in _getdecoder

 raise IOError("decoder %s not available" % decoder_name)

IOError: decoder zip not available

因此我们需要手动重新安装:

sudo pip install -U Pillow

2.MySQLdb
在下面的网址下载mysqldb模块:

http://sourceforge.net/projects/mysql-python/
在mac os x直接双击解压,命令行进入解压后的目录, 执行python setup.py build

如果有

sh: mysql_config: command not found

提示,我们需要编辑下mysql的路径,使用vim打开setup_posix.py

找到:

mysql_config.path = "mysql_config"

改为:

mysql_config.path = "/usr/local/mysql/bin/mysql_config"

然后执行:

sudo python setup.py install

安装成功后,在命令行输入python进入python环境,输入import MySQLdb,我的环境中报下面的错误:

>>> import MySQLdb
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "MySQLdb/__init__.py", line 19, 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): 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
 Reason: image not found

解决方法,我们建立一个软链就可以了

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

这样我们就在mac os x的python环境下安装好了MySQLdb模块

Python 相关文章推荐
用Python实现一个简单的线程池
Apr 07 Python
python操作redis的方法
Jul 07 Python
Python中条件判断语句的简单使用方法
Aug 21 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
python编辑用户登入界面的实现代码
Jul 16 Python
python excel转换csv代码实例
Aug 26 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
详解Python实现进度条的4种方式
Jan 15 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
python接入支付宝的实例操作
Jul 20 Python
python标准库ElementTree处理xml
May 20 Python
详解Python字符串对象的实现
Dec 24 #Python
浅谈Python单向链表的实现
Dec 24 #Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 #Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 #Python
Python生成随机验证码的两种方法
Dec 22 #Python
基于python实现微信模板消息
Dec 21 #Python
python如何实现远程控制电脑(结合微信)
Dec 21 #Python
You might like
php json转换成数组形式代码分享
2014/11/10 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
对Python实现累加函数的方法详解
2019/01/23 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
外科实习自我鉴定
2013/10/06 职场文书
单位委托书范本
2014/04/04 职场文书
会计学专业自荐信
2014/06/25 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
python入门之算法学习
2021/04/22 Python
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python