MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3

 
 

Python3 出來了(其實已經出來很久了,暈)!
但是還是有很多 library 還是使用 Python2.7,所以要怎麼在 Mac 裡面同時裝這兩個版本,並且和系統所使用的 Python 區分開來呢?今天要寫的是如何第一次就正確安裝好,並且切換預設版本,不在誤用系統的 Python。

主要就這幾個步驟而已,不會太困難的(或許有些你本來就裝好了)

STEP 1 安裝 XCODE

可以到 App Store 搜尋 Xcode 並安裝

安裝好了之後就把 Xcode 打開~
第一次開啟的時候會需要同意他的 License Agreement 之類的東西。
然後到 terminal 輸入來安裝 Xcode command line tool:

xcode-select --install

安裝 Xcode 就到此結束囉,要進入下一個步驟了!

STEP 2 安裝套件管理工具:HOMEBREW

可以到官網或是在 terminal 裡貼上:

 
 
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝好後可以跑一下

 
 
brew doctor

如果出現

Your system is ready to brew.

代表萬事 OK,那如果有 Warning 的話,也不用太擔心,可以按照裡面的步驟去修正就好囉!
如果有出現 Warning 的話,雖然會在上面看到一句

If everything you use Homebrew for is working fine: please don’t worry and just ignore them.

不過還是建議大家把東西裝好,才不會到時候忘記自己到底什麼東西還沒設定好。

STEP 3 安裝 PYTHON

接下來要正式進入安裝 Python 的步驟了!
首先,輸入

 
 
python --version

天哪!都還沒開始裝 Python,電腦裡面怎麼已經有了?
這是 Mac 系統要使用的 Python,所以平常沒適不要去亂動比較好唷!
所以現在我們要用 homebrew 來安裝平常可以(亂搞?)使用的 Python。

利用 homebrew 搜尋 Python

 
 
brew search python

這時候,會看到 python 和 python3。
因為我已經裝了,所以旁邊會寫 (installed)。

要安裝 Python 囉!

 
 
brew install python

這樣就開始安裝了。
裝完之後在輸入

 
 
brew install python3

在安裝的時候,Python 會被安裝在

/usr/local/Cellar

那就來看看這個資料夾吧(或者shift+command+g输入路径)

 
 
open /usr/local/Cellar/


就可以看到你正在安裝的 Python 出現了!
除了 Python 之外,也有可能會裝一些其他的東西,例如 sqlite。
總之,不用太擔心,homebrew 會自己搞定。
(因為我裝了很多哩哩摳摳,所以你的資料夾裡可能不會有這麼多東西)

STEP 4 設定路徑 $PATH(不跟系統 PYTHON 打架)

什麼是路徑 $PATH 呢?

還記得我們在裝 Python 的時候,輸入了 brew,
系統就自動會知道要開始跑 homebrew。
系統到底怎麼知道我們的 brew 在哪裡?
這就是 $PATH 的用途了!

 
 
echo $PATH

接下來就會看到一串類似這樣的東西

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

分號 (:) 是分隔的意思
所以當你在 terminal 裡面輸入 brew 時
系統就會開始從 /usr/bin 找起
如果在 /usr/bin 裡面找不到的話
就會往下一個 /bin 去搜尋,以此類推

現在,我們回到資料夾去看
brew 其實就在 /usr/local/bin 裡面!

所以現在的問題就是,系統在 /usr/bin 裡面也有一份 Python
現在我們在 /usr/local/Cellar 裡面也裝了 Python
這樣在 terminal 打上 python 指令時,誰會被開啟呢?
因為路徑有順序,所以它會先找到系統的 Python
現在就要來解決這個問題

 
 
sudo emacs /etc/paths

sudo 讓我們取得管理員權限
用 emacs 這個程式編輯路徑檔案
terminal 會要求輸入密碼
(就是平常裝東西也需要輸入的密碼)

現在要把 /usr/local/bin 移到上面去
control + k:把一行字剪下來
control + y:把字貼上
control + x + s:存檔
control + x + c:關掉 emacs

這時,再打一次

 
 
echo $PATH

為什麼沒有變!?
因為要開一個新的 terminal 才會更新唷!
開新式窗後再輸入一次就會看到我們剛剛修改的結果了。

STEP 5 完成囉!確認安裝結果~

這樣就完成囉!
其實 python3 本身比較不會跟其他人打架
因為他就是獨立的 python3
所以我們主要是要確認是不是讀到我們用 brew 裝的 python

 
 
which python

這時候看到

/usr/local/bin/python

再來看看 python3 吧

 
 
which python3

應該會是

/usr/local/bin/python3

就代表讀到剛剛裝好的 python 囉!
當然如果你要跑系統本身的 python
(應該是用不到啦~)
就輸入

 
 
/usr/bin/python

總之就是…大功告成囉!

转载自https://stringpiggy.hpd.io/mac-osx-python3-dual-install/

 

mac利用套件管理工具homebrew正确地同时安装python2.7和python3的更多相关文章

  1. MAC-安装套件管理工具Homebrew

    前言 Homebrew是一款Mac OS下的套件管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能. Homebrew安装 1,Homebrew官网获取安装指令,官网地址:https://br ...

  2. 【转】Mac端包管理工具——Homebrew简介及安装

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  3. Homebrew新一代OS X套件管理工具 高速安装Git

    在Mac上安装一些开源程序,除了自己下下载.编译( ./configure && make && make install) 之外,通常最方便的选择就是用套件管理工具來 ...

  4. mac安装brew 软件包管理工具Homebrew

    brew 全称Homebrew  是Mac OSX上的软件包管理工具 Homebrew 安装和卸载工具 只用一行命令就能完成 官方地址:    http://brew.sh/index.html   ...

  5. Mac安装软件包管理工具Homebrew

    PS:最近开始学习groovy,打算去官网下载SDK Bundle,可是官网半天加载不出来,而且莫名其妙就是下载不下来,Folx一直提示 "无效的HTTP相应:禁止",可能是插件和 ...

  6. Mac下的类似apt-get的包管理工具Homebrew(笔记)

    对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...

  7. Mac OS 下包管理器 homebrew的安装

    homebrew :熟悉mac os的小伙伴们一定都知道这个包管理工具,它非常方便且好用,安装它只需要打开终端并将以下代码粘贴到终端中运行即可: /usr/bin/ruby -e "$(cu ...

  8. Mac上的包管理器Homebrew的介绍及安装和使用实践

    Homebrew的作用 Homebrew是OS X上强大的包管理器,为系统软件提供了非常方便的安装方式,独特式的解决了包的依赖问题,并不再需要烦人的sudo,一键式编译,无参数困扰. 如何安装Home ...

  9. 从头来之【MAC下代码管理工具】

    本人使用的是一款免费的GIT管理工具SOURCETREE.在appstore下载完后安装. 先选中改变的文件拉倒上面,[COMMIT]---->[push] 如有疑问请留言

随机推荐

  1. 简单的方法爬取b站dnf视频封面步骤解释

    这随笔代码链接:http://www.cnblogs.com/yinghualuowu/p/8186375.html 首先我们要知道,一个分区封面显示到底在哪里可以找到. 很明显,查看审查元素并不能找 ...

  2. Django - 回顾(1)- 模型层的Meta选项详解

    一.模型层的Meta选项详解 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.使用方法及参数解释如下: class Book(models.Model): nid ...

  3. 大数据量高并发访问SQL优化方法

    保证在实现功能的基础上,尽量减少对数据库的访问次数:通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担:能够分开的操作尽量分开处理,提高每次的响应速度:在数据窗口使用SQL时,尽量把 ...

  4. 忘记mysql数据库密码时进行修改方法

    长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件夹( ...

  5. 剑指Offer——数组中出现次数超过一半的数字——一题多解

    看题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  6. Java实现快排+小坑+partition的两种思路

    在做一道剑指Offer的题的时候,有道题涉及到快排的思路,一开始就很快根据以前的思路写出了代码,但似乎有些细节不太对劲,自己拿数据试了下果然.然后折腾了下并记录下一些小坑,还有总结下划分方法parti ...

  7. C# Thread类 线程优先级

    1.C#对线程进行操作时,通过Thread类,可以对线程进行创建.挂起.恢复.休眠.终止及设置优先级. Thread类位于System.Threading命名空间下,该命名空间还包含一个ThreadP ...

  8. 【Linux】linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

  9. rabbitmq的总结

    rabbitmq的术语 组件 Server(broker):接收客户端连接,实现AMQP消息队列的路由功能的进程.简单来说就是消息队列服务器实体. Vhost:虚拟主机,一个broker里可以开设多个 ...

  10. TemplateBinding与Binding区别,以及WPF自定义控件开发的遭遇

    在上一次的文章WPF OnApplyTemplate 不执行 或者执行滞后的疑惑谈到怎么正确的开发自定义控件,我们控件的样式中,属性的绑定一般都是用TemplateBinding来完成,如下一个基本的 ...