原先安裝Python環境的教學寫在這篇 終端機與DJANGO,PYTHON 安裝與打開一個PROJECT篇
但有鑒於自己已經慢慢熬過小菜鳥時期,加上過了好幾個月無論是環境或者我自己本身技術都有改變
我漸漸對舊的文章安裝方式有些改變
有幸公司幫工程師買了新電腦,我有機會再重新安裝一次Python環境在新電腦上。
這次終於可以在全新的電腦上,重新安裝一次環境,並紀錄在文章內,現在就來跟我一起安裝Python環境吧!
由於有讀者來信,讓我了解某些安裝描述在M1晶片的新型蘋果電腦上會有些問題,所以麻煩若有遇到任何問題,在寄信跟我說,我會將文章修正唷,感謝您的支持!
本篇目錄:
- 作者插播
- 新電腦健檢
- 終端機選擇 iTerm2 vs Terminal
- 安裝homebrew
- 安裝 Python 環境
- 安裝 pip: Python 套件管理工具
- 虛擬環境
- 如何安裝 python 2 虛擬環境 (已不可參考)
- 注意事項
- 額外事項
以下,$字號的字行代表終端機內的程式碼,請複製$字後的程式碼
警告: python 2 版本相關內容大部分都移除,以 python 3 版本為主
如果看了文章還是不了解的話,我有特別錄製自己操作的影片,可以點擊影片搭配一起安裝
(是說,影片有問題再麻煩寄信通知qq)
2021/06/06
大約一年前,我的一個前端同事不小心google到我的網站後,認出我
然後接著他跟我說,我有按照你的教學走,可是最後有問題
,當下我其實就有想要更改文章內容,但因為我手邊的Mac都裝好Python了,我就想到一個妙招,把我的Macbook Pro給重灌,這樣我就可以跟著我的文章重新再裝一次,不料因為重裝時操作錯誤,讓我的Macbook Pro 死機了2-3個月,但在某次洗澡或如廁時又找到解決方法拯救電腦。目前這台電腦已經讓給我媽用了。
所以這次修改我打算把2016年買的 Mac Air 灌上最新的 Big Sur 來測試我的文章內容,有因應時事了XDD,不再是3年前的時空了
其實重新操作一次還真的遇到的問題不少,本次修正會更新一些以前的內容,還有重新設計文章架構,畢竟過了幾年後赫然發現這篇文章點閱率超高qq,還被同事認出,讓文章比較好閱讀。
最後再次感謝讀者,這篇文章貢獻了不少閱讀量!!
新電腦健檢
當時時空: 使用電腦: 2018年 Macbook Pro
再次驗證: 使用電腦: 2016年 Macbook Pro 加上 Big Sur
新電腦除了剛開始一無所有時,動手前最好查看一下電腦整體的狀況,了解後再開始安裝環境,不然若真的有問題,跑完安裝後才發現也就浪費一堆時間啦qq
諸如像是
- 新Mac的Python環境有無
- 新Mac的
觸控式軌跡板
有沒有打開點一下來選按
(這超級影響手感XD) - 整理一些舊電腦順手的使用介面
接著就來一步一步把環境裝好囉!
終端機選擇 iTerm2 vs Terminal
俗話說的好,要成為一個軟體開發工程師,你要先擁有一個好的終端機工具 (呵呵我說的XD)
Mac有原生的 終端機程式 (Terminal)
,就是windows的 命令提示字元
。但當時前輩推薦我使用另外一個終端機軟體叫做 iTerm2
,介面和Mac原生的終端機很像,但是多了很多驚奇的指令跟操作。
然後我也順道裝了 zsh
有更炫砲的主題可以用,這又是另外一個坑了,發個網址讓想嘗試的人試試看吧!
超簡單!十分鐘打造漂亮又好用的 zsh command line 環境
所以這邊一樣推薦Mac新手可以裝 iTerm2
取代 Mac原生終端機。
打開 瀏覽器 Safari/Chrome 先裝一個好康的!! 就是 iTerm
。
當然你要用原生的終端機 Terminal裝環境也行喔!
- 安裝 iTerm (選擇性)
打開 Safari/Chrome 下載 iTerm
網頁下面有個大大的 Download
不要怕按下去就對惹!接著解壓縮後直接拉著它丟進應用程式資料夾(application),然後就能夠在應用程式清單中開啟 iTerm
,一樣是黑畫面的終端機!
- 使用原生終端機 Terminal
打開 啟動台(Launchpad)
» 其他 » 找到 終端機 Terminal
無論用哪種方法,搞定後,就打開你的黑螢幕,像個駭客般的操著黑視窗裝置環境吧! XD
先來檢查一下新電腦的環境~
$ ls
確保你在 ~
中,內部的一些資料夾會是: Applications, Documents, Library …。
這些是 home
以及 ~
,所以當你下指令
$ cd ~
會直接跑到這個地方!
接著我們來檢查一下電腦有沒有裝Python
$ python -V
這個指令是檢查Python 版本,通常Mac新電腦至少會裝 Python 2.7 版
Python 2.7.10
跳出這個就代表具備Mac原生的python 2 版本,可是目前大部分專案開發都使用Python 3 版本以上了,所以我們需要安裝3以上的環境。
健檢好電腦後,就來裝環境吧!
安裝homebrew
先來安裝 Homebrew ,他是mac中重要的套件管理程式,未來如果需要安裝其他程式,也會需用使用到 Homebrew 來進行安裝。
[M1晶片新電腦使用者] 注意!有讀者寄信主動回饋,按照描述安裝homebrew會出現問題,所以請使用M1晶片新型的蘋果電腦的讀者,可以參考下列網站安裝homebrew
有鑒於本人目前手邊,沒有M1的蘋果電腦(我也想買一部啊!),但不小心早了一年買了IMac,因此短時間應該不會再購買新電腦,也無法親自實測,撰寫文章。
就直接導流過去了,然後安裝完就可以直接跳下一個步驟安裝Python環境囉!
之後的新電腦趨勢應該都是 M1晶片為主,只能先參考其他部落格主的文章了,若本人有購買新電腦或者其他新的內容,會再更新文章,若有其他安裝上的問題,歡迎讀者來信唷!
那如果使用的電腦非M1晶片新電腦的話,就繼續看下去吧!
前往 Homebrew 網站複製指令
沒錯,就是網站中間有一行指令,直接複製並 貼於終端機
上
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
在 終端機
/ iTerm
run 指令後,請按 Return
(Enter) 繼續安裝。
這會需要一段時間大約十分鐘或多一點,過程中如果有卡住或者停止不動,基本上沒有跳什麼錯誤的話,就放著讓他繼續執行。有時候只是檔案需要下載跟安裝比較久。
除非真的過超級久或者有其他錯誤跳出,在特別去做處理。
稍待片刻喝咖啡
確認您的Homebrew安裝好了
$ brew doctor
Your system is ready to brew.
安裝 Python 環境
Python環境有兩種方法
-
原生Python 環境: 保留系統原生的 python 2.7 版本, 並安裝 python 3,用
virtualenv
指令去決定要開什麼版本的虛擬環境。 -
Anaconda: 安裝anaconda (他會自動把Python版本提升到2或3),取決於你安裝的版本
1. 原生環境
原生環境就是在電腦中保留python 2,且安裝python 其他版本,安裝完之後會是非常乾淨的python環境。
如果要開發專案的話,通常我們會透過指令 virtualenv
或 venv
來開一個新的虛擬環境 (避免跟原本的python環境混合),然後自己上網找需要或者該專案需求的套件並透過 pip
安裝至虛擬環境中。套件都手動安裝。
2. Anaconda
是一個Python的套件管理系統,Anaconda
強大的就是他提供使用者介面操作,讓你可以不用透過不好理解的終端機操作python,他是一個程式內部包含Python的版本以及各種Python的套件/函式庫,所以他佔的容量會非常大。
只要下 conda
相關指令,他就會開一個已具備很多套件的Python虛擬環境,你不用再用pip一個一個裝,不過如果有原先anaconda內沒有的套件,就可能還是需要開anaconda起來安裝!
如果你還是分不清楚上面在寫什麼的話,我這打個比方,有吃過吃到飽餐廳嗎?
第一個方法就是你坐在餐廳,當你想吃高麗菜時,你就點高麗菜,高麗菜會送來。想吃雞肉時,就點雞肉,雞肉會送來。如果都不點,單獨坐在餐廳也可以。所以食材不會放在餐廳內, 需要時才會送到
第二個方法就是,你坐在餐廳內,中間有一個超大的吧台,高麗菜,豆芽菜,各種肉類海鮮都在吧台中央,要什麼馬上就有。好處是你可以肉眼看到吧檯裡有什麼食材,而且可以馬上拿。壞處時佔的容量非常大,因為幾乎大部分的食材都有了。
(本文章不教如何安裝Anaconda)
這篇還是主要教用原生環境來做開發
安裝Python 3 (選項一)
經測試過後,我發現安裝 python3 會直接安裝最新版本的python (我個人認為 3.7 版本比較穩定),之後再來更新怎麼安裝指定版本的Python。
請打開 iTerm
或者是 終端機 Terminal
輸入
$ brew install python3
確認python 3 安裝好了
$ python3 -V
Python 3.7.3
輸入 python3
就可以直接用python來編譯了
$ python3
...
...
Type "help", "copyright", "credits" or "license" for more information.
>>>
使用 exit()
離開 python 3 環境
exit()
這樣就代表 Python 3 已經安裝好了!
安裝 pip: Python 套件管理工具
pip 是 python 的套件管理工具,在使用python開發時,如果需要安裝各類型的 python package (python 套件) 都需要透過 pip
來進行安裝。
在python 2的年代, pip 跟 python 是分開來安裝,安裝完python還需要安裝pip,但是 python 3 安裝完後,就會直接安裝 pip,使用 pip3
來喚出 python3 的套件管理工具。
- Python 3 的 pip
$ pip3 list
打下指令後會出現下列畫面:
Package Version
---------- -------
pip 19.0.3
setuptools 40.8.0
six 1.12.0
wheel 0.33.1
You are using pip version 19.0.3, however version 21.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
這樣就代表 python 3
的 pip
已經安裝完成了。
- Python 2 的 pip
python 2 的 pip 安裝目前已經不可使用,所以我先移除了
基本上目前大部分都使用python 3 進行開發,python 官方也有說明在往後的幾年將不再繼續對python 2進行更新跟維護,就是讓開發者能夠使用python 3開發。
如果真的需要使用 python 2 開發的話,可能需要特別去搜尋如果安裝python 2 的 pip,這篇文章就不再針對這點做研究。
開虛擬環境
Python2/ Python3 都有了,那接下來就來試著開虛擬環境。
以上剛剛的教學都是將 Python 裝進電腦中,基本上電腦已經可以使用python來開發,也可以說是具備了python的開發環境。
但是通常一個工程師會開發不同的專案,總不可能都用同一個 Python環境開發 (因為每個專案需要使用的套件都不同,使用到的套件版本也不同),而剛剛我們安裝的是適用於整部電腦的python開發環境,所以如果就這樣直接開始開發專案的話,會沒辦法好好管理使用的套件,也會混合不同專案所使用的套件。
此時我們就需要學會開啟虛擬環境來針對不同的專案做開發。
如果不清楚的話,我們將剛剛安裝好的 python 3
比喻做一家醫院,今天有一個需要皮膚開刀的專案進來,醫生要準備任何和皮膚開刀相關的工具與器具,也許還需要準備皮膚雷射的裝置。
然後有另外一個專案是產婦生小孩,此時有另外一個醫生抱著接生工具,讓產婦躺在皮膚開刀的病人旁邊,一起做手術。 (抱歉我沒生過小孩,所以先這樣比喻)
最後有一個緊急需要換肝的人也推到正在做手術的兩個人旁邊,又進來一個醫生,又抱著需要的工具,然後全部工具都擺在一起,行程十分混亂的場面。
這就是上面的例子。
那虛擬環境
就比喻為 手術房
,所以今天要皮膚開刀的病人跟手術工具都備妥在 虛擬環境1
(手術房A),而產婦和婦產科醫生則被分配到 虛擬環境2
(手術房B),裡面擁有最高科技的接生工具。最後則是緊急換肝病人被推進 虛擬環境3
(手術房C),內有任何緊急救治相關的工具。
這麼一來不同的手術患者都有不同手術房跟工具,就不會形成手忙腳亂的狀況。
要學著習慣每次開發一個新的專案都開一個新的虛擬環境喔!這樣就等於是在醫院的手術房裡做手術,不管怎麼搞亂都是手術房內的事,不開虛擬環境就像在醫院任何地方做手術,任何原因或者若有其他病人也在同地方做手術都會互相干擾唷!
如何開一個虛擬環境
無論是已經有專案資料夾還是沒有專案資料夾,通常會在資料夾的第一層創立虛擬環境,除非該專案有特別的設計架構,那這個就要詢問主管或者合作夥伴了。
先確保目前在要開發的專案資料夾中,如果還沒有任何專案的話,可以先創立一個資料夾做測試。
那這個案例就以 沒有專案資料夾
為範例
首先先開一個資料夾
一樣打開 iTerm / Terminal
創立一個資料夾叫做 myproject
$ mkdir myproject
$ ls
列出所有檔案,會看到剛剛創立的資料夾名稱
接著進入資料夾中
$ cd myproject
應該是什麼都沒有xD
創立虛擬環境
$ python3 -m venv venv
通常我們會使用 venv 或者 .venv 作為虛擬環境的資料夾名稱,這邊的例子取名為 venv
稍待片刻後,如果沒錯誤,會停個幾秒,然後就創好虛擬環境了
我們在用 ls 指令檢查一下有沒有新創立的虛擬環境
$ ls
venv
原則上看到 venv
資料夾,就代表環境已經創立好了!
但是創立好並不代表你已經在環境中,當開發時,我們需要進到環境中。
可以使用 activate
和 deactivate
來 進入
與 退出
虛擬環境。
進入虛擬環境
$ source venv/bin/activate
輸入完後,就會看到 終端機 terminal
前面會加上 (venv)
代表啟動環境成功囉!
(venv) $
可以用 python -V
來檢查一下虛擬環境內的版本
$ python -V
Python 3.8.2
這邊解釋一下為什麼前面使用的指令是python3,但是進入虛擬環境後只要打python
因為當我們還沒進入虛擬環境時,電腦會擁有不同版本的 python,至少我們的電腦現在有原本的 python 2
和 新安裝的 python 3
,所以會需要用 python3
來區分是打開python3還是python2版。其實網路上有其他方式,可以將 python
指向新安裝的 python 3
版本,但我希望文章內不要做太多其他的動作,免得之後不知道怎麼調回來。
進到虛擬環境後,由於虛擬環境是已經指定版本的一個新的環境,所以在虛擬環境內的版本就只會有一個,這麼一來直接默認 python = 建立的 python 版本。
$ pip list
當然在虛擬環境內,也可以直接輸入 pip list
,而不用加上 pip3
Package Version
---------- -------
pip 19.0.3
setuptools 40.8.0
six 1.12.0
wheel 0.33.1
這麼一來虛擬環境就開好了。
如果要離開虛擬環境的話,使用 deactivate
來退出。
$ deactivate
(venv) $
原本的 (venv)
消失了!代表已經順利退出虛擬環境囉!
如何安裝 python 2 虛擬環境
這邊也需要說明
就有的python2 安裝已經不可使用,因此移除
基本上目前大部分都使用python 3 進行開發,python 官方也有說明在往後的幾年將不再繼續對python 2進行更新跟維護,就是讓開發者能夠使用python 3開發。
如果真的需要使用 python 2 開發的話,可能需要特別去搜尋如果安裝python 2 的 pip,這篇文章就不再針對這點做研究。
注意事項
-
開一個新專案/開發已存在的專案,要習慣開虛擬環境開發,不要用電腦原本的環境開發,會很容易互相影響,將原本的環境污染(稱之為污染是因為無意中安裝了不同的套件)!
-
等於是電腦原始設定為python 2.7, 新裝了python3, 只要用python3指令開虛擬環境,就可以用python3環境做開發
-
沒用到的虛擬環境,就直接刪掉!有需要開發專案再重新開一個。虛擬環境等同於把很大一部分的 python 程式 複製一份新的,所以仔細觀察的話,一個虛擬環境的資料夾會佔超多容量。
-
通常開發專案使用 git 或者其他 版本控制工具,要記得把虛擬環境忽略不要上傳,通常和人協作開發程式,是不會把自己的虛擬環境上傳上git讓別人看到的!
-
你都看到這了,我要先感謝你,偷偷跟你說,通常我們不太會直接手用終端機 coding,所以你之後應該也會使用其他軟體開發工具 (我是使用 Pycharm) 或者 VsCode 來開發專案,基本上開發工具都會自動偵測專案內有沒有虛擬環境,如果沒有則會詢問你要不要創立虛擬環境。
額外事項
有幾項東西對於新電腦也可以一併安裝
- iTerm
- Chrome
- Pycharm
- Vscode
python的環境安裝會隨著電腦硬體的更新跟技術的改變會有不同的變革,所以如果你按照以上的教學安裝發現有誤,再麻煩寫信告知我做修正,讓未來參考文章的人能夠操作得更順利。
感謝你的觀看!
2021/06/06 修訂