0
本文作者: skura | 2019-08-24 14:00 |
雷鋒網(wǎng) AI 開發(fā)者按,新手在剛剛開始數(shù)據(jù)科學的學習時會遇到很多問題,而往往最簡單的問題也最容易犯錯。其中,管理 python 環(huán)境可能是一件讓人頭疼的事情。,搭建一個好的工作空間將讓你避免很多不必要的麻煩。
如果你正在工作,你的 python 環(huán)境突然不起作用了怎么辦?關(guān)于這個問題,荷蘭數(shù)據(jù)分析師 Christiaan Dollen 近日發(fā)表了一篇博文,在文中他分享了用 Visual Studio(VS)和 python 設(shè)置自己的數(shù)據(jù)科學工作區(qū)的經(jīng)驗,這些經(jīng)驗或許可以幫助你避免這些問題。雷鋒網(wǎng) AI 開發(fā)者將全文編輯如下:
如果你剛開始從事數(shù)據(jù)科學領(lǐng)域,那么創(chuàng)建一個個人工作空間將幫助你保持項目的有序性。有很多不同的工具可以使用。在這篇文章中,我將向你展示如何使用一些業(yè)內(nèi)最常用的工具在 MacOS 上建立自己的工作區(qū)。當然,Windows 平臺的步驟和 MacOS 幾乎相同。在學完之后,你將能夠:
用 Anaconda 搭建一個 python 環(huán)境
創(chuàng)建一個 Visual Studio 代碼工作區(qū)并運行 python 腳本
安裝軟件包并管理不同的 Anaconda 環(huán)境
讓我們開始吧!
使用 Anaconda 設(shè)置 python 環(huán)境
Anaconda 主要用于應(yīng)用數(shù)據(jù)科學、機器學習、數(shù)據(jù)處理、分析等。它允許你管理你自己的環(huán)境和將在項目中使用的包。為了構(gòu)建我們的工作區(qū),我們需要安裝和配置 Anaconda。步驟如下:
安裝 Anaconda
使用最新版本的 python 創(chuàng)建新環(huán)境
將包安裝到你的環(huán)境中
下載并安裝 Anaconda
去 Anaconda 網(wǎng)站下載最新版本的 Anaconda,你可以使用 python 3.7 和 python 2.7 下載 Anaconda。雖然我個人更喜歡使用最新版本的 python,但有時 python 包需要特定版本的 python,因此需要設(shè)置多個 python 環(huán)境。安裝好 Anaconda 后,啟動它。
在 Anaconda 中管理不同的環(huán)境
打開 Anaconda 后,你會看到 Anaconda 已經(jīng)設(shè)置了一些工具和軟件包,如 Jupyter、Spyder。注意,上面有一個安裝 VS 代碼的選項。
Anaconda Navigator 附帶了預(yù)安裝的默認軟件包
同時,導(dǎo)航到左側(cè)菜單中的環(huán)境。在這里,你會發(fā)現(xiàn) Anaconda 已經(jīng)配置了一個基本環(huán)境,你可以直接用它工作了。
Anaconda Navigator 界面顯示安裝在基本環(huán)境上的包
從這里可以選擇要運行的環(huán)境,你還可以直接從終端運行 bash 命令。
通過 Anaconda Navigator 直接打開終端
雖然這里面已經(jīng)安裝了很多軟件包,但是你可能想安裝新的軟件包或者用不同版本的 python 安裝不同的包,因此你西藥配置環(huán)境。
單擊創(chuàng)建和配置新的 python 環(huán)境。
選擇最新版本的 python 并再次單擊「創(chuàng)建」進行確認。
Anaconda 也可以用在 R 中,但在本例中我們將使用 python。
配置環(huán)境需要幾秒鐘。幾分鐘后,你會注意到一個新的環(huán)境已經(jīng)安裝了一些默認軟件包。一旦設(shè)置好 python 環(huán)境,你將主要使用終端安裝軟件包,并且你可能較少使用 Anaconda Navigator。
太棒了!現(xiàn)在我們只需要一個工作區(qū)來使用 Python 環(huán)境,這樣我們就可以用我們的包運行腳本。你可以用 Anaconda 附帶的 Jupyter notebook,但我喜歡用 VS Code,我會很快解釋原因。
在 VS Code 中創(chuàng)建數(shù)據(jù)科學工作區(qū)
VS Code 是一個免費的代碼編輯器,你可以根據(jù)需要定制。它是一個輕量級的 IDE,為在自己的自定義工作區(qū)中運行 python 提供了極好的支持。在上一章中,我們設(shè)置了 Anaconda 并安裝了 VS Code。
打開 VS Code
第一次啟動 VS Code 時的歡迎界面
VS Code 是一個功能強大、輕量級的代碼編輯器,允許你為每個項目配置自己的工作區(qū)。為了測試,我創(chuàng)建了一個名為 DataScienceProject 的虛擬文件夾。
單擊 Open Folder 并選擇文件夾
轉(zhuǎn)到菜單并選擇「文件>將工作區(qū)另存為」
在文件夾中保存工作區(qū)文件
現(xiàn)在你已經(jīng)在 VS Code 中設(shè)置了一個自定義工作區(qū)。工作區(qū)的好處是,你可以為每個單獨的工作區(qū)進行自定義設(shè)置。
現(xiàn)在,在工作區(qū)中創(chuàng)建一個名為 helloworld.py 的新文件。
打開 helloworld.py。
將下面的代碼復(fù)制到您的文件中并保存它。
#%%
# This is the first cell of our Python code
print('Hello world!')
#%%
# This is another cell
print('Another cell for the world to see!')
這個時候,在打開文件時,你可能會收到各種各樣的消息,比如「pylint package not installed」。這是因為 VS Code 自動識別出你正在編輯的是一個 python 文件。首先讓我們看看是否可以運行我們的 python 文件。你可以直接在終端或從交互式 python 窗口運行它。交互式 python 窗口非常有用,因為它在調(diào)試代碼時提供了更多的反饋,而且還允許你在 python 腳本中運行稱為 cells 的不同代碼段。
要運行腳本,請按 shift-enter。你也可以右鍵單擊該文件并選擇「在終端中運行 python 文件」或「在交互窗口中運行 python 文件」。
在運行第一個腳本之后,你會看到代碼右側(cè)的交互式 Python 窗口,并返回類似的內(nèi)容。
[1] # This is the first cell of our Python code...
Hello world!
[2] # This is another cell...
Another cell for the world to see!
祝賀你!你剛剛在 Visual Studio 代碼中設(shè)置了一個工作區(qū)來運行 python 項目!現(xiàn)在,讓我們更深入地研究一下,看看是否可以在我們的環(huán)境中安裝新的包。
管理終端內(nèi)的包
現(xiàn)在我們運行了第一個腳本,你可能需要添加一個新的包。假設(shè)您的項目要求您連接到某個 Google API。Google 為我們提供了一個包來完成此操作,但這些包并沒有安裝在你的默認環(huán)境中。幸運的是,我們有很多可用的包。Anaconda 有自己的軟件包存儲庫,還有更多的存儲庫可供我們查找軟件包。我們在示例中尋找的包是 Google API Python Client。請執(zhí)行下面這些步驟。
打開終端,確保你在基本環(huán)境中工作,終端展示的內(nèi)容如下:
(base) myMac:DataScienceProject myUser$
通過在終端中輸入以下命令檢查包是否已安裝:
conda list
這將返回當前安裝在基本環(huán)境中的包列表?,F(xiàn)在,通過在終端中運行以下命令來安裝包:
conda install -c conda-forge google-api-python-client
包現(xiàn)在將安裝在基本環(huán)境中。如果一切正常,您將在終端中看到以下消息(下面只是你應(yīng)該看到的消息的一部分)。
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /Users/myUser/anaconda3
added / updated specs:
- google-api-python-client
The following packages will be downloaded
...
...
...
Proceed ([y]/n)? y
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
真是令人驚嘆!我們已經(jīng)在我們的環(huán)境中成功地安裝了一個新的包。這將允許你導(dǎo)入包相關(guān)的庫,并在腳本中使用 Google API Python Client。
但是,如果你已經(jīng)在基本環(huán)境中運行了包,并且不想冒險,以免造成當前環(huán)境設(shè)置混亂呢?你可以使用新環(huán)境并為該環(huán)境安裝不同的包?,F(xiàn)在我們知道了如何安裝一個包,接下來將展示如何從 VS Code 中更改你的 Python 環(huán)境。
管理工作區(qū)中的 python 環(huán)境
除了在自己的自定義工作區(qū)中工作之外,你還可以在編輯器本身中管理 Anaconda。這樣做的話,你就不必反復(fù)運行 Anaconda Navigator,只需直接從編輯器中運行一個 python 環(huán)境,這樣你就可以繼續(xù)編碼了。
你注意到編輯器底部的藍色滾動條了嗎?它提供了你正在處理的代碼的信息。在滾動條的最左邊,你可以看到當前正在使用的解釋器。在我的例子中使用的是:
Python 3.7.3 64-bit ('base':conda)
如你所見,我正在 Anaconda 的基礎(chǔ)環(huán)境中運行 python 3.7.3。它還會告訴你代碼中是否存在任何問題、有多少行、多少列、多少空格、你當前選擇編程語言等。
通過單擊解釋器,你可以選擇其他解釋器。例如,我們之前在 Anaconda 中創(chuàng)建的 python 環(huán)境。
單擊你的解釋器并選擇我們先前創(chuàng)建的解釋器。
如何選擇不同的 python 解釋器
現(xiàn)在,當你從基本解釋器切換到新的解釋器時,有時 jupyter 服務(wù)器啟動會遇到問題。jupyter 服務(wù)器運行在內(nèi)核上,內(nèi)核在某種程度上是你的 Python 環(huán)境的引擎。jupyter 內(nèi)核對于在 VS Code 中運行代碼非常重要,尤其是在交互式 python 窗口中運行代碼時尤為重要。如果你碰巧遇到這些錯誤,請在終端中
嘗試以下操作:
在 MacOS 上:
source activate <environmentnamehere>
pip install ipykernel
python -m ipykernel install --user
在 Windows 上:
activate <environmentnamehere>
pip install ipykernel
python -m ipykernel install --user
這將在你的環(huán)境中安裝一個內(nèi)核。重新啟動 VS Code 編輯器,并嘗試在新選擇的解釋器(python37:conda)中運行代碼。
如果一切順利的話,恭喜你,你已經(jīng)在 VS Code 中成功地設(shè)置了自己的工作區(qū),現(xiàn)在可以將其用于 python 項目了!
寫在最后
管理你的 Python 環(huán)境可能會讓人頭疼。了解如何管理你的環(huán)境和軟件包會讓你的工作更加靈活,并能防止某個環(huán)境突然停止工作的壓力。這就是我向你展示如何切換環(huán)境和安裝軟件包的原因,因為這些是最容易遇到的錯誤。
當然,我還沒有向你展示使用 VS Code 或 Anaconda 可以做的一切,因此我建議你接下來閱讀以下文章:
希望這本指南對你有所幫助,編碼愉快!
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。