PyCharm 配置 Python 解釋器
前面幾節(jié)我們把如何創(chuàng)建一個項目、以及可以為項目填充哪些元素為大家介紹完了。但還留了一個問題, 當我們在創(chuàng)建"Hello World" 項目時,當輸完文件名后,需要選擇解釋器 ,當時只讓大家選擇了一個系統(tǒng)的解釋器。那么這個解釋器到底是什么呢?這節(jié)將詳細介紹什么是解釋器?有哪些類型?這些解釋器又有什么不同?
1. 什么是解釋器?
解釋器就是幫助我們將 Python 代碼,也就是 .py 文件,交給機器可以執(zhí)行的工具。
我們知道,計算機的 CPU 其實是很笨的,它只能讀懂 0 和 1 這樣的二進制編碼文件。但是我們編寫代碼的時候肯定不能使用二進制,所以就誕生了像 Python 和 Java 這樣的高級語言來輔助我們編程。但是代碼寫出來之后計算機理解不了又執(zhí)行不了怎么辦?這個時候就需要有一個東西將 Python 代碼解釋成計算機可以讀懂并執(zhí)行的內(nèi)容,這個東西就是解釋器。
2. 支持的解釋器類型
想要在 PyCharm 中使用 Python 代碼,需要至少配置一個解釋器。要配置的時候,需要指定系統(tǒng)中的 Python 可執(zhí)行文件的路徑。因此,在配置項目解釋器之前,需要確保已下載 Python 并安裝到系統(tǒng)中,并且知道其路徑。我們可以基于不同的 Python 可執(zhí)行文件創(chuàng)建項目解釋器,也可以用同一個 Python 可執(zhí)行文件創(chuàng)建項目解釋器。
上圖中的 Python.exe 就是 Python 的可執(zhí)行文件,它存在于你的 Python 安裝路徑下面。
PyCharm 支持以下解釋器類型:
- 標準的 Python 解釋器(Python 2.7、Python 3.5-3.8);
- 其他 Python 實現(xiàn)(IronPython、PyPy、Jython、CPython);
- 虛擬環(huán)境:(Virtualenv, Pipenv, and Conda);
- 遠程 Python 解釋器(SSH、Vagrant、WSL(僅適用于 Windows);
- 基于 Docker 的解釋器(Docker、Docker Compose)。
Tips:后面兩種類型,僅在 PyCharm Profession 版本中支持。
3. 新項目配置解釋器
3.1 使用存在的解釋器
當創(chuàng)建新項目時,我們需要選擇解釋器,這時我們可以選擇已經(jīng)存在的解釋器。
點擊上面的詳情按鈕,根據(jù)不同的解釋器類型,已經(jīng)列出了對應(yīng)存在的解釋器。
3.2 使用虛擬環(huán)境
基于存在的解釋器,可以創(chuàng)建新的虛擬環(huán)境。目前 PyCharm 支持三種虛擬環(huán)境,分別是Pipenv、Virtualenv 與 Conda。
3.2.1 使用 Pycharm 創(chuàng)建虛擬環(huán)境
PyCharm 自帶 Virtualenv 不需要單獨安裝。 它是虛擬環(huán)境中最常見的工具,也有許多文檔,可解決許多問題,所以非常適合初學(xué)者。缺點是由于其簡單性,它沒有很多功能。
點擊 “Create" 按鈕,回到主界面 (Tool Windows --> Project --> Project)
會看到項目文件夾下自動創(chuàng)建虛擬環(huán)境的目錄 venv, 目錄結(jié)構(gòu)如下:
更多的細節(jié)請參考 Virtualenv。針對其功能的單一性,工具 virtualenvWrapper 是其擴展,有興趣的同學(xué)可以參考。
3.2.2 Pipenv
Pipenv ,全稱為 Python Development Workflow for Humans,目的是為開發(fā)項目自動創(chuàng)建和管理虛擬環(huán)境并管理 Python 包。它就是 virtualenv 和 pip 的集合體,通過創(chuàng)建指定 Python 版本的虛擬環(huán)境和安裝依賴包,提供各個項目隔離的開發(fā)環(huán)境。
Pipenv 使用 Pipfile 文件來處理安裝的所有包。 如果要在 PyCharm 里使用Pipenv 需要事先安裝。更多安裝及其它細節(jié)參考。
點擊 “Create" 按鈕, 會在項目文件夾自動創(chuàng)建Pipfile, 目錄結(jié)構(gòu)如下:
3.2.3 Conda
在前面的章節(jié)我們提到過 Anaconda,它是一個開源的 Python 發(fā)行版本,其包含了 conda、Python 等 180 多個科學(xué)包及其依賴項。 conda 是包及其依賴項和環(huán)境的管理工具。通常只有當使用 Anaconda 時,Conda 才是合適的虛擬環(huán)境工具。在 PyCharm 里使用 Conda 需要提前安裝。因為其比較大,通常會選擇安裝 miniconda。安裝細節(jié)請參考。
點擊 “Create", 項目文件中不會創(chuàng)建額外的文件。
3.2.4 總結(jié)
在我們創(chuàng)建自己項目時,建議不要選擇系統(tǒng)的解釋器,而應(yīng)創(chuàng)建項目自己的虛擬環(huán)境,保證各項目的環(huán)境獨立性。作為初學(xué)者,可以優(yōu)先選擇 Virtualenv, 當對虛擬環(huán)境有更深了解以后,再選擇Pipenv。畢竟Pipenv功能更為強大,在解決依賴性問題上做得更好。
4. 修改存在項目的解釋器
有時候,我們可能需要修改存在項目的解釋器,比如項目原來是基于 Virtualenv 虛擬環(huán)境的,后來項目越來越復(fù)雜,用 Pipenv 管理包與部署環(huán)境會更為合適;再比如項目之前是依托于 Python 2.7 的環(huán)境,想要升級為 Python3.0 的環(huán)境版本。
4.1 更新本地解釋器路徑
step1:打開項目, 訪問解釋器頁面,Mac 下依次點擊:主PyCharm -> Preference -> Project:項目名 -> Python Intepreter
,Windows 和 Linux 下依次點擊:File -> Settings -> Project:項目名 ->Python Intepreter
。然后點擊右上角的齒輪按鈕:
step2:在彈出列表中,單擊"Show All…",會彈出“Project Interpreters" 對話框 。(選擇 Add 要求你創(chuàng)建新的解釋器)選擇 Show All 會先查看有哪些存在的解釋器,然后再決定是否創(chuàng)建新的。
step3:可用的解釋器出現(xiàn)在"Project Interpreters"對話框中,在對話框中選擇期望的解釋器。通過下面一排按鈕為當前項目增刪改解釋器。
紅框中的按鈕從上到下分別是:
- 增加新的解釋器;
- 刪除選中的解釋器;
- 編輯選中的解釋器;
- 與其他項目相關(guān)聯(lián)的環(huán)境將不顯示;
- 選中解釋器的現(xiàn)有路徑將顯示在解釋器路徑對話框中。
點擊上圖按鈕 4, 會顯示下圖:
點擊上圖按鈕 5, 會顯示下圖:
4.2 Vagrant (僅專業(yè)版支持)
PyCharm 支持遠程調(diào)試,對于已存在的項目可以增加遠程環(huán)境進行調(diào)試。Vagrant 是一款基于 Ruby 用于構(gòu)建及配置虛擬開發(fā)環(huán)境的軟件,主要以命令行的方式運行。
使用 Oracle 的開源 VirtualBox 虛擬化系統(tǒng),與 Chef,Salt,Puppet 等環(huán)境配置管理軟件搭配使用, 可以實行快速虛擬開發(fā)環(huán)境的構(gòu)建。PyCharm 可以通過 Vagrant 直接訪問VirtualBox 虛擬機,所以需要提前安裝 Vagrant 與 VirtualBox, 以及 Vagrant plugin。
PyCharm 已經(jīng)默認安裝了 Vagrant plugin。對于 VirtualBox 與 Vagrant, 根據(jù)自己的操作系統(tǒng),從官網(wǎng)下載VirtualBox 與 Vagrant安裝包,然后運行安裝包,與其它軟件安裝是一樣的,根據(jù)提示點擊下一步,就能順利安裝成功。
step1:執(zhí)行下面的命令, 啟動要使用的虛擬機。(Vagrant命令參考 )
# 本地已經(jīng)準備好了相應(yīng)BOX文件,也可直接從網(wǎng)上下載,但速度慢。
1. vagrant box add centos /Users/xuxh/Downloads/Vagrant-CentOS-7.box
2. vagrant init centos
3. vagrant up
step2:打開項目, 訪問解釋器頁面,然后點擊齒輪按鈕,點擊“add"。
step3:選擇左側(cè)面板“vagrant”, 指定虛擬機目錄及解釋器路徑。
4.3 Docker (僅專業(yè)版支持)
PyCharm 集成了 Docker,允許在 Docker 容器中部署的各種配置開發(fā)環(huán)境中運行應(yīng)用程序。當然前提也是需要安裝 Docker 與 Docker plugin(PyCharm 已經(jīng)預(yù)裝)。
Tips:關(guān)于 Docker 的使用,可以參考這里。
step1:啟動要用的 Docker 容器:
docker run python:latest mytest
step2:打開項目, 訪問解釋器頁面,然后點擊齒輪按鈕,點擊“add"。(參考前面步驟)
step3:左側(cè)面板點擊 Docker,配置 server:
step4:顯示連接成功后,會自動顯示對應(yīng) docker 服務(wù)包含的所有鏡像。
step5:選擇在步驟1運行的鏡像文件,點擊 OK:
5. 小結(jié)
本節(jié)主要針對 Python 解釋器做了詳細的闡述, 該節(jié)的重點及難點是創(chuàng)建虛擬環(huán)境解釋器。涉及的 Virtualenv、Pipenv 及 Conda 三種虛擬環(huán)境,除了要學(xué)習(xí)本節(jié)內(nèi)容,建議去各自的官網(wǎng)了解更詳細的知識。在創(chuàng)建項目時,要優(yōu)先選擇虛擬環(huán)境解釋器,這樣保證系統(tǒng)解釋器整潔性,也保證各個項目環(huán)境的獨立性,在項目移值與部署上都會非常方便。除此以外,本節(jié)也涉及到一些專業(yè)版才有的功能:Docker 與 Vagrant,應(yīng)用與理解這些功能需要的背景知識非常多,建議感興趣的同學(xué)先閱讀文中給出的文檔鏈接。