原先安裝 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 修訂