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. Flask&&人工智能AI --3

    一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV怎么实现? from flask import Flask, render_template, url_for, ...

  2. git——更新分支、提交代码、切换分支、合并分支

    还是直接贴教程吧:https://git-scm.com/book/zh/v2 如何把本地idea上的项目上传到github上:https://www.cnblogs.com/gougouyangzi ...

  3. 转 MYSQL_GTID详解

    http://blog.itpub.net/27067062/viewspace-2141906/   一.GTID概述  GTID是MYSQL5.6新增的特性,GTID(Global Transac ...

  4. LeetCode 583 Delete Operation for Two Strings 删除两个字符串的不同部分使两个字符串相同,求删除的步数

    Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 t ...

  5. (转)不看绝对后悔的Linux三剑客之grep实战精讲

    不看绝对后悔的Linux三剑客之grep实战精讲 原文:http://blog.51cto.com/hujiangtao/1923675 https://www.cnblogs.com/peida/a ...

  6. HBase 相关API操练(二):Java API

    一.HBase Java编程 (1)HBase是用Java语言编写的,它支持Java编程: (2)HBase支持CRUD操作:Create,Read,Update和Delete: (3)Java AP ...

  7. 2009年3月新浪PHP面试题及答案(一)

    1. echo count(“abc”); 输出什么? 答案:1 2. 用PHP代码写出显示客户端IP与服务器IP的代码. 答案:客户端 getenv(‘REMOTE_ADDR’); 服务器端 get ...

  8. MS Chart 折线图——去除时间中的时、分、秒,按天统计【转】

    MS Chart 折线图——去除时间中的时.分.秒,按天统计   private void Form2_Load(object sender, EventArgs e){            str ...

  9. java如何调用服务端的WSDL接口

    如何使用http://192.168.0.170:8090/kaoshi?wsdl调用服务端暴露在外面可以使用的接口 1.首先创建调用ws的web项目,就一个普通的web项目就行: 2.通过eclip ...

  10. Canny边缘检测学习

    Canny边缘检测学习:http://www.open-open.com/lib/view/open1453460512558.html 高斯滤波学习:http://www.cnblogs.com/q ...