[爆卦]python版本選擇是什麼?優點缺點精華區懶人包

為什麼這篇python版本選擇鄉民發文收入到精華區:因為在python版本選擇這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Marsden (馬士登)看板Python標題Re: [問題] python的版本不對要怎樣改?...


※ 引述《yuxds (cody)》之銘言:
: http://imgur.com/E025PTV
: 我想請問一下圖裡面的python版本要怎樣修改?
: 我電腦安裝的是3.6的版本也有裝anaconda
: 不過不知道為什麼cmd裡顯示的是2.7的版本
: 要怎樣才能修改讓他讀到3.6的版本呢?
: 謝謝

Hello你好,由於最近正在開課教授所上同學使用 Python,上上週正好
是在講述關於環境建置的內容,以下稍微做一些分享。

實際上我會建議如果安裝了 Anaconda 的發行板就不用再裝上官方的版
本了,畢竟本質上並沒有差太多,而 Anaconda 還有一個自己的套件管
理工具 conda。除此之外他也是一個環境工具,如果你對 Python 稍微
熟悉的話他相當於是以下功能的集成:

pip, pyenv

甚至他還替我們先預置了許多常用的 package,包括但不限於:

numpy, scipy, requests, os... 等

簡單來說你並不需要擔心版本以及套件包安裝的問題,以下稍微說明一
下環境建置的流程:


01. 至官方下載頁面下載符合自身作業系統與位元數的版本並進行安裝
(此處並不用太在意 Python3 或是 Python2 ,當然如果無法選擇
就直接選 Python3 版本吧)

02. 設置環境變量(path)使其可以在終端機(terminal)下執行,微軟作
業系統並不用擔心這個問題,在安裝過程中會詢問,而Linux/Unix
作業系統下雖然也會詢問但容易被忽略,若沒有設置到則可以根據
使用的 Shell 不同來做設置(以 Bash 為例):

# 將安裝路徑下的 bin 目錄加入 PATH
$ echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc

# 更新 bash 或重啟 terminal
$ source ~/.bashrc

03. 如果要建置不同版本的環境,可以進行以下操作:

# 以下兩條命令意義相同,其中 Python27 是環境名稱,可以自訂修改
conda create -n Python27 python=2.7
conda create --name Python27 python=2.7

# 啟用環境
activate Python27 # for Windows
source activate Python27 # for Linux/Unix & Mac OS

# 退出環境
deactivate Python27 # for Windows
source deactivate Python27 # for Linux/Unix & Mac OS

# 若要删除已建立的環境
conda remove -n Python27 --all
conda remove --name Python27 --all

04. 新建立的環境下並沒有安裝太多套件包,若要安裝可以進行以下操
作:

# 安裝套件包
conda install -n Python27 <package name>
conda install --name Python27 <package name>

# 也可以直接安裝所有 Anaconda 預設的套件包
conda install -n Python27 anaconda
conda install --name Python27 anaconda

# 或者可以與上面建置環境的操作合併使用
conda create -n python27 python=2.7 anaconda
conda create --name python27 python=2.7 anaconda

05. 其他 conda 指令(可參考說明文件或CheatSheet)

# 查看已安裝的套件包
conda list

# 更新
conda update conda
conda update anaconda

--

當然也可以針對不同的 jupyter notebook 設置 Python2 和 Python3
的 Kernal,當然你也可以選一個好用的 IDE 像是 Spyder, PyCharm
來同時使用 Python2 和 Python3

(不過我自己不喜歡寫這種腳本語言還需要用到 IDE…編輯器配上個好
 用的插件可以進行高亮補全就很足夠了)

最後建議安裝 Package 優先考慮用 conda 不行才使用 pip/pip3
都不行的話才直接去載 .whl 檔來進行處理。

---

最後會是這樣的:

http://i.imgur.com/4PEjdUo.png
※ 編輯: Marsden (140.112.73.87), 03/11/2017 15:55:46
yuxds: 謝謝 我再好好研究一下 03/11 16:49
freeunixer: 完全的中國式用詞... 03/11 18:26
Marsden: 也就一個集成比較中國式而已好嗎 03/11 19:19
freeunixer: 變量... 03/11 21:20
freeunixer: api... 03/11 21:20
rxiang: 高亮 03/11 21:21
freeunixer: 各種杯具... 03/11 21:22
Marsden: 高亮還好吧,API又不是中國式用詞… 03/11 21:52
freeunixer: 硬凹有什麼意思呢?文裡至少四個術語是中國式用詞, 03/11 22:16

1.API不是中國式用詞
2.你要覺得變數變量有差別就隨意吧,數學裡面也是不少翻成變量的
3.請你跟我說高亮有什麼好一點的繁中說法?
4.我不認為到你所說的「完全的中國式用詞」,至少?至多?
5.與其挑三揀四的,您不是在八卦版常說自己開班,怎麼不回一篇呢?

s860134: HL 想翻成高光嘛 你台積電XD 03/11 22:17
freeunixer: 辯這個不是那個不算,就會比較不像嗎? 03/11 22:17
s860134: ㄜ 我想你回文應該說 非中國式的翻譯該怎麼翻 03/11 22:20
s860134: 最後你也只會把它用中英夾雜來表達嘛... 03/11 22:21
s860134: 辯這個真的蠻無聊的,又不說個好一點的譯法QQ 03/11 22:22
Marsden: 我真的覺得與其戰我文章很多中國式術語,不妨您來寫。要 03/11 22:34
Marsden: 不然現在各大出版社一堆跟中國出版社授權的書籍都哭哭了 03/11 22:34
freeunixer: 我在公司提到最佳化的時候,主管同事都驚呆了,他們說, 03/11 23:00
freeunixer: 我們只敢說優化,不敢說最佳化~ 03/11 23:00
freeunixer: 遇到這麼理直氣壯的,我只能說感恩seafood,讚嘆seafood 03/11 23:02
Marsden: 可以說中文嗎?我的資質愚鈍不是很明白你想要表達什麼。 03/11 23:07
s860134: 你不是第一個聽不懂他在說什麼的人,也不會是最後一個XD 03/12 00:08
kenduest: 其實還好耶,至於是否比較偏中國用法,其實並不重要 03/12 00:15
kenduest: 有人願意給回應資訊而且正確,還酸言酸與有比較高干嗎 03/12 00:18
kenduest: 目前許多技術書籍不少都是來自於中國那邊的, 03/12 00:19
kenduest: 也看多習慣裡面的用字了。以前最常看用字不就內存、緩存 03/12 00:20
kenduest: 記憶體這類稱呼?還有內核也是,熟 unix 的人應該看多了 03/12 00:20
coyoteY: 戰那種用語有點無聊...大家看得懂就好.. 03/12 07:52
HenryLiKing: 我覺得前輩回文教學真的很好,畢竟新手常常會在環境 03/12 10:12
HenryLiKing: 建置的地方遇到很多挫折,語言有什麼好吵的,不動為 03/12 10:12
HenryLiKing: 什麼要爭辯是不是哪裡的講法= = , 樓主寫的這麼認真 03/12 10:12
HenryLiKing: 耶 03/12 10:12
gowaa: 為什麼一堆語言中國化 不就台灣人自己不爭氣= = 神經哦 03/12 12:25
gowaa: 最簡單的方式 就只有講英文名詞 03/12 12:26
gowaa: 不過有些原本就有的 硬改就.. 03/12 12:27
gowaa: 說台灣人不爭氣也不對0rz 就基數少 用的人少 自然就... 03/12 12:31
gowaa: 我為這句不爭氣道歉一下 台灣還是有許多強者的..0rz 03/12 12:32
vi000246: 我覺得有些中國用語翻得還比台灣精準 03/12 17:30
uranusjr: 應該說台灣的出版社不爭氣, 出不了好書少數的翻譯又爛 03/12 19:25
uranusjr: 當然大家就往相對準確又至少有統一不會誤解的那邊靠了 03/12 19:26
kenduest: 現在台灣寫書的其實版稅很少,台灣出版社其實也不好經營 03/12 19:38
david31408: 大推 一定要用anaconda嗎? 人家願意回覆要感謝呀 03/12 21:06
david31408: 中國式用詞還好吧 有心回比較重要 03/12 21:07
david31408: 看不慣可以用英文回呀 03/12 21:07

當然不是只有Anaconda,在上一篇回文就有大大提到了官方的版本也有
類似的切換版本功能(但其實還是有些許差別),這部分有寫在官方文
件中:

https://docs.python.org/3/using/windows.html#getting-started

大體上就是表示 3.3以後如果電腦上同時安裝有兩種版本,可以使用諸
如:

$ py -2.7
$ py -2

這樣來執行不同版次。

--

如果是使用像是 PyCharm這類的整合開發環境,在系統中裝有不同的狀
況下,他也會詢問要選擇使用哪一個直譯器(或者說解釋器):

http://i.imgur.com/1ZtxyqY.png

--

當然還有其他的發行板或是套件管理工具像是 WinPython, Canopy之類
的 ,不過我不熟就是了…對了,最起初我是從政治大學蔡炎龍老師的文
章知道 Anaconda 的,然後就一直用到現在了xDD
※ 編輯: Marsden (140.112.35.232), 03/12/2017 21:58:04
holishing: 03/12 23:41
zxzx8059: 這看起來不錯啊,感謝推薦 03/13 22:56

你可能也想看看

搜尋相關網站