- Python之光:Python編程入門與實戰
- 李慶輝
- 4855字
- 2023-11-13 15:11:05
1.3 開發環境搭建
“工欲善其事,必先利其器。”雖然理論上編寫代碼只需要一個純文本工具,比如Windows里的記事本,但面對復雜的代碼和高效率的訴求時就需要用專業的工具。
代碼運行的環境,即代碼解釋器,是運行代碼的核心軟件,它與代碼編輯工具協同,使我們的代碼編寫工作順利完成。
本節主要介紹Python解釋器和代碼編寫工具的安裝。
1.3.1 開發環境選擇
IDE(Integrated Development Environment,集成開發環境)是輔助開發人員編寫軟件的軟件,我們可以在這個環境里完成編寫代碼、調試運行、發布程序等工作,如果編寫的是有界面的軟件,甚至還可以在里面設計界面圖形。IDE一般是有圖形界面的,可以使用鍵盤和鼠標操作。
IDE可以提示我們補全代碼,省去大量代碼記憶和代碼輸入工作;可以對不同代碼區域顯示不同的顏色,以提高代碼的可讀性;可以幫助我們組織多文件代碼,使代碼組織層次更加清晰合理;可以幫助我們高效調試程序,快速找出代碼運行的問題;還可以幫助我們管理代碼開發版本,自動配置解釋器版本等。
我們編寫Python程序肯定少不了使用IDE,現在的問題是使用哪種IDE,因為Python的IDE實在太多,而且不斷有新的IDE出現。
筆者根據經驗在這里推薦Python解釋器管理工具Miniconda,至于代碼編輯器,推薦使用JupyterLab、Visual Studio Code(VS Code)和PyCharm,三者適用于不同的代碼項目。一般情況下,學習Python、編寫代碼片段、做數據分析時推薦使用JupyterLab,寫一些Python腳本文件、辦公自動化等需要純凈執行環境時推薦使用VS Code,編寫大型應用(如網站、界面軟件、游戲等工程化程度高的項目)時推薦使用PyCharm。當然,第三種情況也可以考慮使用VS Code,但需要你自己配置相應的編輯器插件。
總體來說,不同的項目類型選擇不同的代碼編輯工具,能夠最大化發揮工具的能力,從而提高我們的工作效率。
1.3.2 Python安裝管理
Conda是一個開源軟件包管理系統和環境管理系統,可以在Windows、macOS、Linux等操作系統上運行,它能快速安裝、運行和更新軟件包及其依賴項,可以輕松創建、保存、加載和切換環境,這就解決了我們安裝Python、創建和管理多個Python版本的問題。
Anaconda是一個軟件發行版,它預裝了眾多數據科學領域的Python第三方包,如NumPy、SciPy、IPython等,只要一次安裝就可以獲取這些第三方包,但這樣也造成了Anaconda空間和內存占用較大,僅安裝包就達五六百兆字節,安裝后占用幾吉字節的存儲空間,里面的第三方包版本還可能與我們的實際需求不匹配等,這些都是問題。
Miniconda是Conda的最小免費安裝程序,僅包括Conda、Python、它們所依賴的軟件包以及少量其他軟件包(包括pip、zlib)。可以使用Conda安裝命令(conda install、conda update、conda remove等)從Anaconda存儲庫安裝軟件包。當然,也可以使用Python的pip命令來安裝和管理軟件包。
另外,還可以選擇從Python官網(https://www.python.org),根據自己的操作系統類型進行下載和安裝,Windows 10及以上用戶也可在Microsoft應用商店中搜索Python 3.10安裝。
macOS和Linux操作系統預裝了Python,但由于版本過低,與系統管理功能耦合度高,建議不要直接使用,應該保持原Python版本不變,安裝并使用新的Python解釋器。接下來,我們將介紹Miniconda的安裝,它能很好地幫助我們管理多個Python版本。
1.3.3 Miniconda安裝
前面介紹過,Miniconda是一個虛擬環境管理和包管理工具。它安裝方便,可以幫助我們免去手工配置Python環境的工作;同時作為瘦身版的Anaconda,它只包含Python和Conda,簡潔,占用空間少,安裝包只有五六十兆字節。
Miniconda安裝包可以從https://docs.conda.io/en/latest/miniconda.html下載,此頁面提供了Windows、macOS、Linux操作系統對應的安裝包,需要注意的是:對于Windows系統,一般選擇64-bit字樣的安裝包;對于macOS,要根據自己的設備型號選擇Intel X86或Apple M1芯片的安裝包;選擇latest字樣(即發布時間最新)的安裝包,或者默認Python版本至少為3.9的安裝包。
如果Miniconda官網及下載鏈接訪問速度慢或者無法訪問,可通過清華大學提供的鏡像下載地址https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/下載,要注意選擇發布時間最新的安裝包,可以將頁面最后一列date重新排序再查詢。如果以上兩個網站都不方便下載,可以直接訪問筆者整理好下載鏈接的網頁https://www.gairuo.com/p/python-install下載。
下載后,雙擊Windows的exe文件或者macOS的pkg文件,按照界面上的提示進行安裝。對于macOS、Linux系統,還可以下載sh文件,在終端執行bash Miniconda3-latest-MacOSX-x86_64.sh命令安裝,文件名是實際下載的文件名,并將文件放在終端當前的執行目錄下(如果要更換當前執行目錄,可參考下文)。
安裝完成后就可以在終端中執行命令安裝與管理Python解釋器和軟件包。要打開終端,在Windows系統中,找到并打開Anaconda Prompt。在macOS系統中,通過底部Dock欄打開啟動臺,在頂部搜索框搜索“Terminal”即可找到終端。如果你使用的是Mac電腦,推薦安裝iTerm2作為自帶Terminal的替代,非常好用。圖1-1為在Windows和macOS中打開終端的情況。
在Windows中,(base)后面的磁盤路徑是當前執行命令的位置;在macOS中,(base)后面是電腦的名稱,如果想查看當前路徑,可以執行ls命令。如果想更換當前路徑,可以使用cd命令,比如:在Windows系統中,可以先執行d:換到D盤,然后執行cd D:\gairuo\study換到指定路徑;在macOS系統中,直接執行類似cd /Users/gairuo/Downloads的命令(cd后是新路徑)更換當前路徑。使用Ctrl+C組合鍵可以終止正在運行的命令。

圖1-1 Windows(上)和macOS中的終端
終端也是我們執行Python腳本的地方,后面編寫的腳本都會在這里執行。可以輸入python進入交互式環境,編寫代碼后按回車鍵執行,可以即時看到執行結果。

進入交互式環境首先看到的是Python的版本等相關編譯、安裝信息,可以在>>>后輸入你的代碼。輸入exit()或者quit()可以退出Python交互式環境。交互式會話將允許你測試你編寫的每一段代碼,這是一個快速實驗和測試Python代碼的好地方。
1.3.4 安裝與管理Python環境
接下來我們在終端中安裝和管理Python的版本,并安裝第三方庫。終端中的(base)已經是默認的Python環境,我們可以在終端中執行python-V命令查看當前的Python版本。

筆者建議在不同的項目下安裝不同的Python環境并選擇合適的版本,以滿足開發需求。這樣做的好處是可以避免項目中第三方庫與Python版本及其依賴的其他庫發生沖突。接下來,我們安裝Python 3.10進行學習,并將這個環境命名為py310。
在終端中執行conda create-n py310 python=3.10命令,該命令包含新的環境名和Python版本。要注意的是,Python的版本3.10不能寫成3.1,軟件版本號中的點并非小數點,而是版本號各部分的分隔符號。
執行以上創建新環境的命令后,按照界面提示同意協議、確認下一步,等待一兩分鐘會提示安裝成功,終端中光標會閃動,等待下一個命令的輸入。這時,執行conda activate py310進入剛剛創建的環境:

可以看到終端中的最新一行提示符左側括號為新環境名稱,說明已經安裝成功,執行Python命令、安裝Python包就會使用此環境。
要更換環境,可以執行conda deactivate退出當前環境并進入base環境。想查看Conda下所有的環境,可以執行conda info-e。以下是筆者電腦上安裝的Python情況:

上面輸出了所有環境的列表,包含名稱和環境的安裝路徑,帶星號的是當前環境。想刪除指定環境,可以執行類似conda remove-n py310--all的命令。
另外,執行命令conda--version可以查看Conda的版本,執行命令conda update conda可以升級Conda。
1.3.5 安裝第三方庫
寫Python怎能不安裝第三方庫呢?一個環境只能安裝一個指定庫,因此先要選擇在哪個環境下安裝你需要的庫,否則你可能會裝錯環境,導致找不到已安裝的庫。
在指定的環境下,可以使用conda install numpy命令安裝NumPy,使用conda uninstall numpy來卸載。不過筆者還是推薦使用pip在環境里進行庫管理,以下是pip安裝庫的幾個常用命令:

由于存儲庫的項目網站PyPI在海外,有時下載過程會稍慢,此時我們同樣可以使用清華大學提供的鏡像站點,安裝命令變成:

這樣庫的下載速度會大大提升。還可以試試其他源,如https://pypi.douban.com/simple(豆瓣)、http://mirrors.aliyun.com/pypi/simple(阿里云)等。
用conda list和pip list命令都可以查看當前環境下已經安裝的庫列表。
1.3.6 JupyterLab
JupyterLab(官網https://jupyter.org)是一個交互式的代碼編輯器,打開它會打開一個網頁,可以在其中編寫代碼,即時執行,快速得到結果(包括代碼返回值、統計圖和界面交互圖),還可以編寫筆記文檔。它經常應用于數據科學領域。JupyterLab將是我們學習Python的主陣地(不再推薦使用Jupyter Notebook),即使在寫大型項目時,也可以在JupyterLab上做代碼原型驗證。它的界面如圖1-2所示。

圖1-2 JupyterLab界面截圖
JupyterLab以Python第三方庫的形式進行安裝。如果想在某個環境中安裝JupyterLab,需要在終端中進入此環境,執行安裝庫的命令:

經過兩三分鐘便可完成安裝,之后在終端中執行jupyter lab命令,會在瀏覽器中打開一個網頁,如未自動打開,可將界面上提示的網址復制到瀏覽器中手動打開。
JupyterLab左側的文件目錄是當前的文件目錄,如果不是想要的,可以參考上文在終端執行jupyter lab命令前轉到期望的目錄再執行。在使用JupyterLab的過程中不要關閉終端窗口,如果需要執行命令,可以再打開一個終端窗口。
新建Notebook時,單擊左側文件目錄旁邊的加號,在右側界面中單擊Python 3(ipykernel)圖標便可以成功創建一個未命名的Notebook,如圖1-3所示。在左側文件目錄中可以看到這個擴展名為ipynb的Notebook文件,右擊可以對其進行更名、刪除、下載、拖動等操作。可以在單元格中編寫代碼,并按Shift+Enter組合鍵執行代碼。

圖1-3 JupyterLab創建Notebook界面
要特別注意的是,每個單元格可以獨立執行,輸出內容在代碼框下方,而左邊方括號里的數字是代碼執行的次序。執行完下一個單元格的代碼,可以再跳到上面單元格執行,而這個數字是按執行順序編的。這就要注意,代碼執行順序不同會導致上下文不同,輸出的結果可能也會不同。要完全重新執行,就要在Kernel菜單中選擇Restart Kernel重啟當前內核,清除所有變量內容。關于JupyterLab的更多使用細節讀者可以自行查閱資料,有些重要功能后文會涉及。
JupyterLab目前的代碼提示功能還比較弱,推薦安裝jupyterlab-lsp插件,它具有代碼導航、懸停建議、自動完成、重命名等功能,可以為JupyterLab提供編碼幫助。用pip安裝以下兩個庫:


這樣我們在編寫代碼時,在變量名、函數名處按Ta b鍵,會看到增強的代碼提示功能。JupyterLab還有一個實用的功能,即在名稱上、名稱后或者調用括號中按Shift+Tab組合鍵會顯示Docstring幫助文檔,這樣我們就可以知道函數方法的用法及示例。
表1-3是一些常用的JupyterLab快捷鍵。
表1-3 常用的JupyterLab快捷鍵

JupyterLab還支持一些魔法方法,它們以%開頭,寫在單元格內代碼開頭處或者開頭行,以支持一些特殊的功能,今后我們會用到。表1-4是一些常用的JupyterLab魔法方法。
表1-4 常用的JupyterLab魔法方法

1.3.7 VS Code
Visual Studio Code(簡稱VS Code)是微軟開發的一個開源、免費、輕量級、跨平臺、支持多語言的代碼編輯器,近些年來在Python社區受到眾多開發者的追捧。它的特點是速度快,占用資源少,代碼提示功能強大,擁有豐富的第三方開源插件,能滿足開發者的個性化功能定制需求。
要安裝VS Code,可以到其官方網站https://code.visualstudio.com選擇合適的安裝包下載,雙擊安裝包依提示即可完成安裝。完成后展開左側擴展欄搜索并安裝Python支持,還可以安裝名為jupyter的擴展來支持Jupyter Notebook的功能,以創建和打開ipynb文件。
創建一個py文件,然后可以看到在右下角Python字樣后有環境名稱,如3.10.8('Py310':conda),單擊此名稱可在彈出的下拉選項中選擇我們之前安裝的其他Python環境。
最終在VS Code中編寫Python代碼的界面如圖1-4所示。

圖1-4 VS Code界面
VS Code有非常好用的快捷鍵來操作編輯器,可以依次選擇幫助(Help)、快捷鍵參考(Keyboard Shortcuts Reference)選項打開快捷鍵說明文檔。
1.3.8 PyCharm
PyCharm是著名軟件開發公司JetBrains開發的專業Python開發工具。目前它是使用最廣泛、功能最齊全的Python編輯器,由于功能強大,容易上手,各個層次的Python開發人員都可以快速上手使用。它的主要缺點是占用系統資源較多,專業版本收費。針對收費問題,學生和科研人員可以在其官網申請免除費用,其他人員可以下載其免費的社區版本,社區版本只有簡單的純Python開發功能。
安裝PyCharm非常簡單,訪問下載頁https://www.jetbrains.com/zh-cn/pycharm/download/,選擇合適的版本,下載后直接按提示安裝即可。
安裝完成后啟動軟件,可以在文件菜單中選擇新建項目,在左側的項目目錄里選擇新建Python文件。最關鍵的是配置Python解釋器。單擊編輯器的右下角,選擇解釋器設置(或者單擊選擇PyCharm的首選項,找到項目里的Python解釋器選項),下拉選擇解釋器,如果沒有我們要安裝的解釋器,可以單擊旁邊的加號添加本地解釋器,在彈出的界面中選擇Conda圖標進行配置。
最終PyCharm編寫代碼的界面如圖1-5所示。

圖1-5 PyCharm編寫代碼的界面
和VS Code一樣,PyCharm也支持Jupyter Notebook的功能,可創建、編寫和打開ipynb文件。
1.3.9 小結
本節介紹了如何搭建Python的開發環境,如何用Miniconda管理Python開發環境,以實現多版本的效果。
本節還介紹了幾款代碼編輯器,并告訴大家如何安裝它們。JupyterLab將是我們學習Python的主力工具,VS Code主要用于編寫一些腳本和小項目,PyCharm將用來完成大型工程化項目。在安裝和配置過程中難免會遇到不少問題,好在這些工具的官方及網友在網上發布了非常多的圖文和視頻教程供我們參考,相信你通過學習這些資料和自主搜索解決辦法可以搭建一個完美的開發環境。
如果想使用Docker容器安裝Miniconda,可通過https://hub.docker.com/r/continuumio/miniconda3獲取相關資料。
軟件和需求在更新迭代,新的工具層出不窮,你可以不斷探索,一定會找到自己心儀的工具。
- Data Visualization with D3 4.x Cookbook(Second Edition)
- 黑客攻防從入門到精通(實戰秘笈版)
- Ceph Cookbook
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- Java EE 7 Development with NetBeans 8
- Python機器學習編程與實戰
- 微信小程序入門指南
- 深入理解C指針
- C語言程序設計實訓教程與水平考試指導
- 石墨烯改性塑料
- 跟戴銘學iOS編程:理順核心知識點
- Appcelerator Titanium:Patterns and Best Practices
- 軟件測試分析與實踐
- Eclipse開發(學習筆記)
- Hands-On Artificial Intelligence with Unreal Engine