MacOS 安裝 Anaconda、Python纺涤、pip译暂、virtualenv以及沖突解決

之前的電腦因為年幼無知抠忘,被搞得亂七八糟, 什么Python各個版本、Conda外永、pip2崎脉、3都混在一起,每次使用得覺得很難受伯顶,這次借機公司發(fā)了新電腦囚灼,準備好好梳理下思路,把環(huán)境安排得清清楚楚明明白白祭衩。

先說需求:

  1. Anaconda: 自己沒事兒想看點ML灶体,安裝Anaconda玩一下
  2. pip2: 雖然大部分項目已經(jīng)python3了,但公司還有項目會需要到pip2掐暮,并且希望使用virtual env隔離不同項目的Python環(huán)境

Anaconda

Anaconda 是什么

Anaconda 就是一個發(fā)行版蝎抽,包含了conda、Python和超多得科學包及其依賴項路克。簡單地可以理解為一個版本的python附帶一堆依賴和版本管理器樟结。

如何安裝Anaconda

非常無腦,去官網(wǎng)下載即可精算,由于mac自帶的是python2.7瓢宦,所以我選擇了python3.7的Anaconda(https://www.anaconda.com/download/#macos)。下載之后緊接著就是無腦安裝灰羽。點點點點之后就安裝完成了驮履,可以在Launch中看到Anaconda Navigator了。

Anaconda Navigator打開之后

讓我們再試試python:

MacBook-Pro:~ hal$ python
Python 3.7.1 (default, Dec 14 2018, 13:28:58) 
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.

Python2.7 怎么辦

如剛才所示廉嚼,因為安裝Anaconda玫镐,Python已經(jīng)默認是3.7了,那我如何才能使用到python2.7呢前鹅。我們可以使用alias摘悴,以python2作為python2.7的別名。

別名的指令可以寫在以下三個文件中更改:

~/.bash_profile 針對用戶級別
./etc/profile 全局公有配置舰绘,登陸即會讀取
./etc/bashrc 全局公有配置,bash shell的時候會執(zhí)行

我們選擇修改bash_profile葱椭,也是最推薦的一種:

# added by Anaconda3 2018.12 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/wanghao/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "/Users/wanghao/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/wanghao/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="/Users/wanghao/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda init <<<

#alias for python
alias python2="/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7"

前面的部分都是因為安裝Anaconda自動生成的捂寿,我們添加#alias for python的部分(??此處=兩邊不能加空格,否則會報錯)

Python2.7的路徑問題

系統(tǒng)Library中的python

/System/Library/Frameworks/Python.framework/Versions/2.7 自帶2.7

/usr/bin 中的python

/usr/bin/python2.7

我們其實可以看到/usr/bin中有很多個python孵运,在目前我的本機中他們都指向系統(tǒng)自帶的python2.7

MacBook-Pro:bin hal$ ls -al | grep 'python'
-rwxr-xr-x    1 root   wheel     66880 11 30 13:55 python
-rwxr-xr-x    4 root   wheel       925  8 18 10:49 python-config
lrwxr-xr-x    1 root   wheel        75 11 30 19:00 python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x    1 root   wheel        82 11 30 19:00 python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
-rwxr-xr-x    1 root   wheel     66880 11 30 13:55 pythonw
lrwxr-xr-x    1 root   wheel        76 11 30 19:00 pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7

以防將來有變化秦陋,引起不必要的麻煩,我們選擇系統(tǒng)Library中的python2.7作為alias的目錄

好像還沒有pip2

查看目前pip的版本為python3.7下的pip

MacBook-Pro:bin hal$ pip --version
pip 18.1 from /Users/wanghao/anaconda3/lib/python3.7/site-packages/pip (python 3.7)

mac本身不自帶pip治笨,原定是需要easy_install安裝的驳概,為了保險起見赤嚼,確保能裝到python2.7中
我放棄了使用easy_install(當然我猜一定有方法可以用easy_install),而選擇直接下載安裝

$ cd ~/Downloads/            # curl 會默認download到當前目錄所以顺又,先選擇下載文件夾
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py            # 下載安裝腳本
$ sudo /usr/bin/python2.7 get-pip.py          # 運行安裝腳本更卒。此時因為是sudo,不能用剛才配的python2

檢查以下就可以看到pip2已經(jīng)安裝完成

MacBook-Pro:~ hal$ ls -al /usr/local/bin/ | grep 'pip'
-rwxr-xr-x  1 root  wheel    299  1  3 17:37 pip
-rwxr-xr-x  1 root  wheel    299  1  3 17:37 pip2
-rwxr-xr-x  1 root  wheel    299  1  3 17:37 pip2.7
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稚照,一起剝皮案震驚了整個濱河市蹂空,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌果录,老刑警劉巖上枕,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異弱恒,居然都是意外死亡辨萍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門返弹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來分瘦,“玉大人,你說我怎么就攤上這事琉苇〕懊担” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵并扇,是天一觀的道長去团。 經(jīng)常有香客問我,道長穷蛹,這世上最難降的妖魔是什么土陪? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮肴熏,結(jié)果婚禮上鬼雀,老公的妹妹穿的比我還像新娘。我一直安慰自己蛙吏,他們只是感情好源哩,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸦做,像睡著了一般励烦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泼诱,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天坛掠,我揣著相機與錄音,去河邊找鬼。 笑死屉栓,一個胖子當著我的面吹牛舷蒲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播友多,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼牲平,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了夷陋?” 一聲冷哼從身側(cè)響起欠拾,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎骗绕,沒想到半個月后藐窄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡酬土,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年荆忍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撤缴。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡刹枉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屈呕,到底是詐尸還是另有隱情微宝,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布虎眨,位于F島的核電站蟋软,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嗽桩。R本人自食惡果不足惜岳守,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碌冶。 院中可真熱鬧湿痢,春花似錦、人聲如沸扑庞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫩挤。三九已至害幅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岂昭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留约啊,地道東北人邑遏。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像恰矩,于是被迫代替她去往敵國和親记盒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350