文档章节

Mac OSX 正確地同時安裝 Python 2.7 和 Python3 By Candy Tsai In Come on~ Python 11-29-2015 2 Min read 8 comme

zh_iOS
 zh_iOS
发布于 2017/11/28 16:12
字数 1265
阅读 4
收藏 0

Mac OSX 正確地同時安裝 Python 2.7 和 Python3

By Candy Tsai

In Come on~ Python

11-29-2015

2 Min read

8 comments

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

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

Step 1 安裝 Xcode

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

1

xcode-select --install

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

Step 2 安裝套件管理工具:Homebrew

Homebrew

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

1

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

安裝好後可以跑一下

1

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 的步驟了!
首先,輸入

1

python --version

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

利用 homebrew 搜尋 Python

1

brew search python

這時候,會看到 python 和 python3。
因為我已經裝了,所以旁邊會寫 (installed)。
SP_brew-search-python
要安裝 Python 囉!

1

brew install python

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

1

brew install python3

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

/usr/local/Cellar

那就來看看這個資料夾吧

1

open /usr/local/Cellar/

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

Step 4 設定路徑 $PATH(不跟系統 Python 打架)

什麼是路徑 $PATH 呢?

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

1

echo $PATH

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

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

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

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

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

1

sudo emacs /etc/paths

sudo 讓我們取得管理員權限
用 emacs 這個程式編輯路徑檔案
terminal 會要求輸入密碼
(就是平常裝東西也需要輸入的密碼)
SP_emacs
現在要把 /usr/local/bin 移到上面去
control + k:把一行字剪下來
control + y:把字貼上
control + x + s:存檔
control + x + c:關掉 emacs
SP_paths

這時,再打一次

1

echo $PATH

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

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

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

1

which python

這時候看到

/usr/local/bin/python

再來看看 python3 吧

1

which python3

應該會是

/usr/local/bin/python3

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

1

/usr/bin/python

總之就是…大功告成囉!

本文转载自:.................

共有 人打赏支持
zh_iOS
粉丝 28
博文 73
码字总数 34061
作品 0
石景山
程序员
私信 提问
安装 Python3且与系统 Python2共存

Mac OSX本身系统自带Python2.7,但 不建议直接使用、删除和更改,因为可能有些程序是需要依赖系统自带的python 2.*,盲目修改后可能会导致系统产生未知错误。 所以建议在 不修改系统的pytho...

宿小帅
2018/09/21
0
0
Mac 之xampp 安装MySQLdb【非Pip安装】

刚学习python,到数据库这块,需要安装一个MySQLdb。记录下碰到的问题~~~ 我的环境:Mac High Sierra 10.13.6 + python 2.7 + XAMPP。 特此说明:以下安装只针对本机以及本人碰到的问题,不一...

干干
2018/09/10
0
0
Python 2.7.15 发布,bug 修复版本

Python 2.7.15 发布,此版本是 Python 2.7 系列的 bug 修复版本。 macOS 用户需要关注一下,从2.7.15版本开始,所有 python.org macOS 安装程序都附带了 OpenSSL 的内置副本。此外,还有一个...

h4cd
2018/05/03
1K
3
Python 3.7 测试预览版已经发布,添加新特性

Python 3.7 的下一个预发行版本将是 3.7.0 beta 2,目前预定在 2018-02-26。计划于 2018-06-15 正式发布3.7.0。 主要新功能 1. PEP 538,将传统的C语言环境强制转换为基于UTF-8的语言环境 2....

周其
2018/02/07
2.9K
6
Scapy 2.4.0 发布,基于 Python 的交互式数据包处理库

Scapy 是一个功能强大的基于 Python 的交互式数据包操作工具和库,它能够伪造或解码大量协议的数据包,提供多种类别的交互式生成数据包或数据包集合,对数据包进行操作、发送数据包、包嗅探、...

王练
2018/03/28
978
1

没有更多内容

加载失败,请刷新页面

加载更多

Java12的新特性

Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性 序 本文主要讲述一下Java12的新特...

go4it
14分钟前
1
0
深入解密比Guava Cache更优秀的缓存-Caffeine

1.前言 读这篇文章之前希望你能好好的阅读: 你应该知道的缓存进化史 和 如何优雅的设计和使用缓存? 。这两篇文章主要从一些实战上面去介绍如何去使用缓存。在这两篇文章中我都比较推荐Caffe...

咖啡拿铁的技术分享
16分钟前
1
0
Java B2B2C多用户商城 springcloud架构 --Eureka服务器搭建及配置

第一步,创建一个普通的springboot项目 以下方法都可以快速创建一个boot项目: 1. 浏览器访问http://start.spring.io/,填写信息,下载zip包,加压到你的ide的工作空间直接使用。 2. 使用ide...

明理萝
28分钟前
0
1
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作

· Oracle 撒手,宣布对个人用户 (Personal Users) , Java 8 官方支持时间持续到 2020 年 12 月;对商业用户(Commercial Users),2019 年 1 月之后不再提供免费更新。 · 红帽喊话,计划在...

Java填坑路
31分钟前
0
0
在 Ali Kubernetes 系统中,我们这样实践混沌工程

在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定。而混沌工程,是通过注入一些“不确定”因素,象放进了一...

阿里云官方博客
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部