環境安裝、直譯器介紹
Python安裝
一、Ptyhon介紹
因為Python是跨平臺的,它可以執行在Windows、Mac和各種Linux/Unix系統上。在Windows上寫Python程式,放到Linux上也是能
夠執行的。
要開始學習Python程式設計,首先就得把Python安裝到你的電腦裡。安裝後,你會得到Python直譯器(就是負責執行Python程式的),
一個命令列互動環境,還有一個簡單的整合開發環境。
目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不相容的。由於3.x版越來越普及,我們的教程將以最新的
Python 3.7版本為基礎。請確保你的電腦上安裝的Python版本是最新的3.7.x,這樣,你才能無痛學習這個教程。
二、Python下載:
Python最新原始碼,二進位制文件,新聞資訊等可以在Python的官網檢視到:
Python官網:https://www.python.org/
你可以在以下連結中下載 Python 的文件,你可以下載 HTML、PDF 和 PostScript 等格式的文件。
Python文件下載地址:https://www.python.org/doc/
三、Python安裝
3.1、在Mac上安裝Python
如果你正在使用Mac,系統是OS X>=10.9,那麼系統自帶的Python版本是2.7。要安裝最新的Python 3.7,有兩個方法:
方法二:如果安裝了Homebrew,直接通過命令 brew install python3
3.2、在Linux上安裝Python
linux原始碼安裝:
Linux下大部分系統預設自帶python2.x的版本,最常見的是python2.6或python2.7版本,預設的python被系統很多程式所依賴,比如centos下的yum就是python2寫的,所以預設版本不要輕易刪除,否則會有一些問題,如果需要使用最新的Python3那麼我們可以編譯安裝原始碼包到獨立目錄,這和系統預設環境之間是沒有任何影響的,python3和python2兩個環境並存即可。
linux下安裝python3 不建議解除安裝python2 可能會導致系統內其他軟體無法使用 1.下載 wget https://www.python.org/ftp/python/3.6.0/Python‐3.6.0a1.tar.xz 2. 解壓 tar xvf Python‐3.6.0a1.tar.xz 3.編譯安裝 進入目錄 ./configure make && make install 4.測試 輸入 python3 說明安裝成功 輸入ctrl + d退出 python3原始碼編譯自帶pip3。
Unix & Linux 平臺安裝 Python:
以下為在 Unix & Linux 平臺上安裝 Python 的簡單步驟:
- 開啟 WEB 瀏覽器訪問https://www.python.org/downloads/source/
- 選擇適用 於Unix/Linux 的原始碼壓縮包。
- 下載及解壓壓縮包。
- 如果你需要自定義一些選項修改Modules/Setup
- 執行 ./configure 指令碼
- make
- make install
執行以上操作後,Python 會安裝在 /usr/local/bin 目錄中,Python 庫安裝在 /usr/local/lib/pythonXX,XX 為你使用的 Python 的版本號。
3.3、在Windows上安裝Python
四、測試Python環境
安裝成功後,開啟命令提示符視窗,敲入python後,會出現兩種情況:
情況一:
看到上面的畫面,就說明Python安裝成功!
你看到提示符 >>> 就表示我們已經在Python互動式環境中了,可以輸入任何Python程式碼,回車後會立刻得到執行結果。現在,輸入 exit() 並回車,就可以退出Python互動式環境(直接關掉命令列視窗也可以)。
情況二:得到一個錯誤:
‘python’ 不是內部或外部命令,也不是可執行的程式或批處理檔案。
這是因為Windows會根據一個 Path 的環境變數設定的路徑去查詢 python.exe ,如果沒找到,就會報錯。如果在安裝時漏掉了勾選 Add Python 3.6 to PATH ,那就要手動把 python.exe 所在的路徑新增到Path中。
如果你不知道怎麼修改環境變數,建議把Python安裝程式重新執行一遍,務必記得勾上 Add Python 3.6 to PATH 。
五、執行Python
5.1、互動式直譯器:
你可以通過命令列視窗進入python並開在互動式直譯器中開始編寫Python程式碼
5.2、命令列指令碼
在你的應用程式中通過引入直譯器可以在命令列中執行Python指令碼,如下所示:
$ python script.py
5.3、整合開發環境(IDE:Integrated Development Environment): PyCharm
- PyCharm 是由 JetBrains 打造的一款 Python IDE,支援 macOS、 Windows、 Linux 系統。
- PyCharm 功能 : 除錯、語法高亮、Project管理、程式碼跳轉、智慧提示、自動完成、單元測試、版本控制……
- PyCharm 下載地址 : https://www.jetbrains.com/pycharm/download/
- PyCharm 安裝地址:http://www.runoob.com/w3cnote/pycharmwindowsinstall.html
professional 表示專業版,community 是社群版,推薦安裝社群版,因為是免費使用的。
注意:如果需要使用 Pycharm 又恰好是學生的話,可以免費申請享用高大上的Professional版本。申請地址:https://www.jetbrains.com/student/。在填寫學校郵箱申請完成後,會收到一封啟用郵件。點選連結啟用後會收到一封包含下載地址連結的郵件,就可以享用 Jetbrains 的所有專業軟體了。
5.5、Anaconda
對於 Python 學習的新手來說,安裝 Anaconda 包管理軟體是一個不錯的選擇,可以減少很多後續安裝 Python 各種包的麻煩。在
Anaconda 自帶的 notebook 進行程式碼的編寫要比 IDE 和 Terminal 的體驗好得多。
Anaconda 的下載地址:https://www.anaconda.com/download/
六、好的Python學習網站
- http://pythontutor.com/live.html#mode=edit
- https://www.python.org/ python官網
- https://www.python.org/doc/ python官方文件
- http://bugs.python.org/ python bug網站
- https://hackerone.com/python
- http://stackoverflow.com/questions/tagged/python
- 一個非常棒的網站:http://pythontutor.com/live.html#mode=edit (可以檢視python記憶體的變化)
- https://pypi.python.org/pypi python擴充套件庫的綜合列表
- http://www.lfd.uci.edu/~gohlke/pythonlibs python對應的輪子檔案(將下載好的輪子檔案copy至scripts資料夾下,用pip install xxx.whl 進行安裝)
- https://www.continuum.io/downloads/ anaconda3下載
- http://sourceforge.net/projects/pywin32/files/ win32
Python直譯器介紹
當我們編寫Python程式碼時,我們得到的是一個包含Python程式碼的以.py為副檔名的文字檔案。要執行程式碼,就需要Python直譯器去執行.py檔案。
Python是一門高階語言,並且很多人在使用,所以針對Python程式碼也就有很多的直譯器去執行,由於整個Python語言從規範到直譯器都是開源的,所以理論上,只要水平夠高,任何人都可以編寫Python直譯器來執行Python程式碼(當然難度很大),現存在多種Python直譯器。這裡介紹幾種直譯器。
CPython
當我們從Python官方網站下載並安裝好Python 3後,我們就直接獲得了一個官方版本的直譯器:CPython。這個直譯器是用C語言開發的,所以叫CPython。在命令列下執行python就是啟動CPython直譯器,CPython是使用最廣的Python直譯器。
開啟終端模擬器,在命令列輸入以下命令:
python
IPython
IPython是基於CPython之上的一個互動式直譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python程式碼的功能和CPython是完全一樣的。CPython用>>>作為提示符,而IPython用In [序號]:作為提示符
開啟終端模擬器,在命令列輸入以下命令:
ipython
PyPy
PyPy是另一個Python直譯器,它的目標是執行速度。PyPy採用JIT技術,對Python程式碼進行動態編譯(注意不是解釋),所以可以顯著提高Python程式碼的執行速度。PyPy 表示 “用 Python 實現的 Python”,但實際上它是使用一個稱為 RPython 的 Python 子集實現的。更準確地來說,PyPy 自身就是一種執行時,您可以在其中插入任何語言。
絕大部分Python程式碼都可以在PyPy下執行,但是PyPy和CPython有一些是不同的,這就導致相同的Python程式碼在兩種直譯器下執行可能會有不同的結果。
Jython
Jython是執行在Java平臺上的Python直譯器,可以直接把Python程式碼編譯成Java位元組碼執行。所以Jython不僅給你提供了Python的庫,同時也提供了所有的Java類,這使其有一個巨大的資源庫。
IronPython
IronPython和Jython類似,只不過IronPython是執行在微軟.Net平臺上的Python直譯器,可以直接把Python程式碼編譯成.Net的位元組碼。
Python的直譯器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺互動,最好的辦法不是用Jython或IronPython,而是通過網路呼叫來互動,確保各程式之間的獨立性。