前言

之前在windows平台上安装python直接用Anaconda,优点是所有的科学计算的库都整合进去了,安装方便。在Mac系统下,当然也可以直接安装Anaconda,但是考虑到Mac会自带python就没有安装它。不过Mac自带的python毕竟是系统级的,并且安装的不是最新的版本(我的自带版本是python 2.7.10),所以就有了在Mac上安装python的需要。

homebrew安装python

Mac下安装python首先推荐homebrew。官网上有安装homebrew的详细介绍,安装好homebrew后,打开终端直接输入:

zhangzhang-MacBook-Pro:~ zhangzhang$ brew install python

如果安装python3,直接输入:

zhangzhang-MacBook-Pro:~ zhangzhang$ brew install python3

安装模块及IDE

用brew安装的python自带pip,可以直接用来安装python模块。因为我用python主要是进行数据分析,机器学习,所以先安装好pandas、scipy、sklearn,直接命令行输入:

zhangzhang-MacBook-Pro:~ zhangzhang$ pip install pandas

安装好模块后,需要安装python IDE。我首先安装了pycharm,体验了以后觉得这款工具虽然功能强大,但是不太适合做数据科学工作,用来搭建网站,写写爬虫倒是很适合。于是又安装了之前一直很喜欢的ipython notebook。终端以此输入:

zhangzhang-MacBook-Pro:~ zhangzhang$ pip install ipython

zhangzhang-MacBook-Pro:~ zhangzhang$ pip install notebook

这里容易犯的错是,用brew来安装ipython,然后用pip安装notebook,结果导致notebook无法识别我的python,在import 模块时报错。所以要明确homebrew和pip的区别:homebrew是用来安装软件包的,比如python,比如mysql;pip是用来安装python内部的模块的。所以如果犯了我刚刚那种错误,可以通过

brew uninstall ipython

卸载安装的ipython后再用pip安装ipython即可。
如果在终端输入ipython notebook无法在浏览器启动notebook,可以进行以下配置:

1.生成 jupyter config 如果自己没有的话:
jupyter notebook --generate-config
2.使用vim将Google chrome值输入刚刚生成的配置文件
c.NotebookApp.browser = u'chrome' (注意去掉 # 符号)
注意:chrome是我的默认浏览器,如果你是使用safari,则应是c.NotebookApp.browser = u'Safari'

系统自带python与homebrew安装的python

我们知道这时Mac上有两个python,一个是系统自带的,一个是我们用homebrew安装的,那么它们两者会冲突吗,当我们终端打开python时调用的是哪个python呢?
首先查看我们Mac上安装了哪些版本的python:

zhangzhang-MacBook-Pro:~ zhangzhang$ which -a python
/usr/local/bin/python
/usr/bin/python

结果显示我的Mac上安装了两个python:/usr/local/bin/python目录下是我们用homebrew安装的python;/usr/bin/python目录下是系统自带的python。为了验证这一点,我们先运行第一个python:

zhangzhang-MacBook-Pro:~ zhangzhang$ /usr/local/bin/python
Python 2.7.13 (default, Apr 4 2017, 08:47:57)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

可以发现,python 版本是2.7.13的确是我们安装的版本。
我们再运行第二个python:

zhangzhang-MacBook-Pro:~ zhangzhang$ /usr/bin/python
Python 2.7.10 (default, Feb 7 2017, 00:08:15).
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

可以发现现在的python版本是2.7.10,的确是系统自带的python。使用brew 安装的python路径如下:
/usr/local/Frameworks/Python.framework/Versions/

其中
/usr/local/ 这个文件夹 相当于本地用户的系统文件夹。而刚刚我们查看brew安装的python路径之所以时/usr/local/bin,是因为使用了link。当我们命令行启动python时会启动我们最近安装的python版本,这里就是homebrew安装的python了。

Mac安装python细节的更多相关文章

  1. mac 安装 python 配置||虚拟环境

    前篇:http://www.cnblogs.com/ostrich-sunshine/p/8747791.html 介绍了 Mac 下 python 的一些相关知识. 这篇介绍 python3 的安装 ...

  2. Mac 安装python 3.*新版本的详细步骤

    Mac 系统自带python,不过自带的python版本都是2.*版本.虽然不影响老版本项目的运行, 但是python最新的3.*版本的一些语法与2.*版本并不相同,我们不论是学习还是使用,当然用最新 ...

  3. Mac安装python 环境& pychaem

    一.文档说明 在Mac上其实自带python环境,但是很多的library安装python是2.7的版本. 验证:可以在终端Terminal中输入:python 如下图是未安装之前,但是咱们需要在自己 ...

  4. MAC安装python jupyter notebook

    介绍: Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言. Jupyter Notebook 的本质是一个 Web 应用 ...

  5. mac 安装 python mysqlclient 遇到的问题及解决方法

    在 mac 上安装 mysqlclient 遇到了一些问题,查找资料很多人都遇到了同样的问题.通过资料和试验,成功了.这里记录一下,希望帮到遇到同样问题的人. 本人使用python3, 安装步骤如下: ...

  6. Mac 安装python ,anaconda。彻底卸载anaconda的方法

    To uninstall Anaconda open a terminal window and remove the entire anaconda install directory: rm -r ...

  7. mac 下 python 虚拟环境的安装和配置

    前言:继续安装中,这节记录 mac 安装 python 虚拟环境,多版本共存... 1. 安装 pip -- python的包管理工具: sudo easy_install pip 安装成功,出现下面 ...

  8. Mac安装python3.x+pycharm+elasticsearch+常见报错处理(1)

    ---恢复内容开始--- mac安装python有两种方式:此处叙述官网安装下载. mac 自带python2.x版本,python2和3之间的差距还是有的.下面简单叙述我安装python3.7的过程 ...

  9. 极速在mac中安装python开发环境

    mac开发环境的安装: brew: 包管理工具{ 安装:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/in ...

随机推荐

  1. wifi androd 整体框架

    1. http://blog.csdn.net/myarrow/article/details/8129607/ 2.  http://blog.csdn.net/liuhaomatou/articl ...

  2. B. Two Buttons

    这是Codeforces Round #295 (Div. 2) 的B 题,题意为: 给出n, m, 有两种操作,n 减一 和 n 乘以 2,问最少要多少次操作才能把n 变成 m. Sample te ...

  3. 吴恩达机器学习笔记(九) —— 异常检测(Anomaly detection)

    主要内容: 一.模型介绍 二.算法过程 三.算法性能评估及ε(threshold)的选择 四.Anomaly detection vs Supervised learning 五.Multivaria ...

  4. Maven2与maven1之间的区别

    1. 更快.更简单比起 Maven1 那不急不慢的运行速度,Maven2在速度上有了质的飞跃,甚至与Ant相比也毫不逊色(当然,下载不算).除此之外,"简化工作,使用业界公认的最佳实践&qu ...

  5. jetty使用jndi数据源

    之前将项目正常的数据源统一切换成jndi访问的形式(是将c3p0以mbean形式安装到jboss做的数据连接池), 本地测试用的jetty服务器,为了统一数据库访问部分,我也查看文档找到了jetty提 ...

  6. Android窗口系统第一篇---Window的类型与Z-Order确定

    Android的窗口系统是UI架构很重要的一部分,数据结构比较多,细节比较多.本篇文章主要介绍窗口相关数据结构和抽象概念理解,关于[窗口部分的博客]计划如下. 1.窗口Z-Order的管理 2.应用程 ...

  7. 存储过程之rowtype 使用

    CREATE OR REPLACE PROCEDURE "DYLYLQX_SC_BA_1" (YWID IN VARCHAR2, FLAG OUT VARCHAR2) IS V_R ...

  8. openfire插件(1)

    插件核心类,这里对PacketInterceptor.Plugin进行继承.如果开发插件就一定要继承Plugin,而继承PacketInterceptor是拦截用户发送的消息包.对消息包进行过滤.拦截 ...

  9. linux命令学习笔记(29):chgrp命令

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群 组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group ...

  10. ACM学习历程—HDU 1059 Dividing(dp && 多重背包)

    Description Marsha and Bill own a collection of marbles. They want to split the collection among the ...