當前位置:編程學習大全網 - 編程語言 - 如何開始使用PyCharm,並擁有壹個高效的Python IDE

如何開始使用PyCharm,並擁有壹個高效的Python IDE

編輯器與IDE之間的辯論正變得老舊和無聊,因為這是壹個zero sum game(零和遊戲或者叫零和博弈,表示所有博弈方的利益之和為零或壹個常數,即壹方有所得,其他方必有所失。)我已經使用Emacs長達15年了,我使用它閱讀我的郵件,瀏覽網頁,制作咖啡(我們不能做所有的事情嗎?)但是,今天我發現,通過在工作上使用合適的工具,能夠變得更加高效。

強大的編輯器,如Emacs和Vim太棒了。我發現令人費解的是有些編輯器或IDE進行基本操作的時候,如搜索和替換非常笨重,而Vim的和Emacs操作起來恰到好處。

然而,搜索註入“將Vim作為壹個Python IDE”或者“將Emacs作為壹個Python IDE”,都會返回成千上萬的鏈接,這表明人們想要這樣的壹些功能,如智能完成,代碼導航和項目支持等等。為了給妳壹點數據,我最熱門的帖子之壹就是如何配置Emacs作為壹個Python IDE,即使到今天已經過了三年。

PyCharm是最流行的Python IDE之壹,因為它具有強大的功能。在這篇文章中,我將展示如何開始使用PyCharm,並很快具備壹個高效的Python開發環境。我使用Mac上的PyCharm3.0.2專業版(他們有壹個開源版本以及)上。我使用的是大量修改了默認按鍵的鍵盤映射(也有Emacs和Vim鍵盤映射表)。我建議妳參考官方的Mac和Windows/ Linux的默認快捷鍵。

初步使用

當您第壹次啟動PyCharm的時候,他會問妳要使用的鍵盤布局和主題。我不喜歡它的Emacs鍵盤映射,所以我用的是默認的Mac OS X鍵盤映射並且自定義了我想要的快捷方式:

如果這是妳第壹次使用PyCharm,並沒有什麽配置可以導入的。妳可能會想在歡迎屏幕中點擊“配置”,設置壹些基本的配置:

我喜歡顯示出行號和方法分隔符(Editor→Appearance→Show method separators, Show line numbers):

另外,我喜歡Solarized主題。我遵循指示安裝了它,並選擇它作為編輯器的默認主題→顏色和字體。 淺色版的Solarized IntelliJ有壹些奇怪的顏色選擇(例如,它采用灰色為默認的文本,而不是更清晰的黑色),所以我在編輯器上進行了修改→Colors & Fonts→General。我的建議是不要害怕修改顏色為妳自己喜歡的。妳可以導出妳的配置,以防妳需要重新安裝PyCharm。

相比於別的壹些IDE,我覺得PyCharm在視覺上的效果上非常幹凈,如果妳想要壹個更簡潔的用戶界面,您可以隱藏工具欄,工具按鈕,導航欄和狀態欄(在視圖菜單上):

Virtualenv和Python解釋器

您可以創建新的項目文件→File→New Project or open an existing project withFile→Open Directory。 PyCharm支持多種類型的Python項目,如Django,Flask等等。在這裏,我將創建壹個簡單的項目,以測試pyquery庫(我會選擇“Empty project”)。

妳需要告訴PyCharm妳想用哪個Python解釋器,因為它可以使用不同的解釋器對於不同的項目。它將利用這些信息來索引的所有可用的庫。壹個好的做法是對於每個項目建立壹個virtualenv。您可以使用壹個已經存在的virtualenv或從PyCharm創建壹個新的(Settings→Project Interpreter→Python Interpreters)。

對於這個項目,我將創建壹個新的virtualenv並使其用於所有的項目:

您可以快速搜索,閱讀說明,並從PyCharm安裝軟件包。沒有什麽是妳在在終端上不能做的,但它能夠使妳無需離開IDE,更加方便地夠搜索包。

壹些軟件包可能需要安裝壹段時間,特別是如果他們需要進行編譯。 PyCharm運行安裝過程是在後臺,妳可以通過單擊狀態欄看到正在發生的事情:

正如我們所看到的,它不僅安裝pyquery報,所依賴的包,如lxml也壹並安裝(正如我們所期望的):

快捷鍵

PyCharm是沒有Vim的,但妳也可以只靠鍵盤做很多事情。您可以將快捷方式設置到幾十個(如果不是數百個)快捷動作在Settings→Keymap。我修改了相當多的默認鍵盤映射,因為我喜歡有像Control-a, Control-e, Control-k,and Control-y那樣的快捷鍵,而這幾個快捷鍵在默認情況下多用於文本框,並沒有設置默認在“Mac OS X”的鍵盤映射。您還可以定義鼠標快捷鍵。舉例來說,我使用Option-Click來改變快速文檔。如果妳是壹個Vim的用戶,您可能希望嘗試壹下IdeaVim,壹個Vim的仿真器插件。我聽說過這個好東西,但我沒有機會去嘗試它。

我用的是Dvorak keyboard layout,但煩人的是,壹但用到不對的快捷鍵就會有bug。有人反映了這個問題,French Canadian and German layouts也有這個問題。這意味著我必須重新綁定不少的快捷方式來避免這個問題。

PyCharm使用功能鍵,如F1和F2等很多。正如妳可能知道的,在Mac上,頂部的按鍵多作為默認“多媒體”鍵,並通過按下Fn鍵的來生效。我們可以在System Preferences→Keyboard交換這種方式。

我希望能夠控制音量和改變亮度,而不需要使用Fn鍵,但我也喜歡使用功能鍵,而無需觸碰較遠的Fn鍵(我很懶惰,我能說什麽?)。我用Palua在“多媒體”和功能鍵之間切換。妳可以用全局鍵切換,也可以配置Palua在使用特定應用程序時,自動切換。我為所有應用程序使用多媒體鍵的(默認值),並配置Palua為Xcode和PyCharm使用功能鍵。

外部編輯器

PyCharm可以啟動任何外部工具,所以我將其配置用Emacs來打開當前文件。當妳想要利用妳喜歡的編輯器(Emacs,Vim,TextMate等等)做壹些快速編輯,這非常有用。

進入Settings→External Tools,確保“Open console”未選中,將路徑插入程序,參數(在這種情況下,我們可以用FilePath來得到完整的文件名)和工作目錄(ProjectFileDir/ FileRelativeDir /)。

妳可以把它分配給壹個快捷方式:

現在它可以從菜單欄獲得。

運行代碼和REPL

PyCharm有很多方式來讓我們運行代碼。我們可以用古老的print 函數(或聲明語句,這取決於妳的Python版本),在REPL導入代碼,發送代碼到控制臺,使用調試器,或在終端上使用IPython。

打印輸出

使用打印來顯示值是壹個有用的並被廣泛使用的技術,但是如果不小心使用的話,它可能會導致混亂的代碼。

如果該文件已被選中運行,我們可以通過單擊“play”按鈕或Control-R來開始。

如果沒有選擇文件來運行,會從上下文菜單中選擇壹個文件,用Control-Option-R或右擊來運行她。 PyCharm會記住妳的選擇,下壹次妳可以繼續使用Control-R。這聽起來很復雜,但它其實非常簡單。檢查手冊,以便了解更多的信息。

控制臺和REPL

我最喜歡的方法是在REPL運行代碼。您可以在PyCharm的工具欄中打開壹個Python控制臺,Tools→Run Python Console(我已經分配到Control-C)。它會使用IPython(如果可用)(我建議妳在virtualenv內安裝IPython),並將當前文件的路徑添加到Python的路徑。在控制臺上,妳可以像往常壹樣導入妳要來執行的功能。

在控制臺中補全功能仍然可用:

我們可以像平時壹樣正常使用已經導入的函數,並且可以利用?–4輕松切換控制臺的可視性。

在控制臺執行所選擇的代碼

如果我想運行的代碼是多了幾個單行,並沒有編寫正式的單元測試(例如,可能我玩的是數據)我可以將它保存在壹個臨時文件。我們可以選擇我們想要運行的代碼(通常我只需要利用?-A選擇整個文件),並選擇從上下文菜單中選擇“Execute Selection in Console”(或者,更好的方式,使用鍵盤快捷鍵)。 [我省略了壹些菜單項中的截圖以使文章短壹些。

在下面的例子中,標題變量在控制臺中可用,因為我們在控制臺中選擇整個臨時文件來執行:

如果我們可以在壹個操作中發送整個文件到控制臺,那就太好了。幸運的是,我們可以記錄壹個宏。選擇Select Edit→Macros→Start Macro Recording and performthe operations as before(選擇整個文件,發送到控制臺,切換到控制臺)。正如妳所看到的,我的宏只有四個動作(我按向下箭頭鍵取消選擇):

當您錄制的宏已經在宏菜單,妳可以分配給它快捷方式(我使用Control-C Control-E,但由於某些原因PyCharm只顯示兩個快捷方式的壹半)。

調試

很多人喜歡使用調試器來檢查數據。即使我喜歡使用REPL,有時調試程序更有效,在檢驗復雜的對象時尤其如此。 PyCharm不允許妳在壹個空行設置壹個斷點,因此,在這短短的例子,我不得不添加壹個額外的行(我使用print函數,但我本可以使用pass),因為我想要調試停止在設置的headlines變量後。在真正的代碼中,很少有這個必要。

IPyhton

最後,利用IPython來運行外部終端並使用壹些功能,比如%run和自動重載沒有任何不妥。

搜尋命令

這很容易變得不知所措,因為有這麽多的命令。如果您在Mac上使用PyCharm,妳可以像往常壹樣使用Help→Search,或者您可以在任何平臺上使用Help→Find Action。它可以讓妳搜索任何PyCharm命令,包括不能從菜單中獲得的。 (Emacs的使用者會註意到這有點類似於Emacs的M-X)。這是非常有用和強大的功能,我壹直使用它。

代碼補全

代碼補全功能在PyCharm上是壹流的。默認情況下PyCharm會在妳輸入的時候給出建議:

由於此功能可有點耗電,妳可以通過選擇File→Power Save Mode來禁用它。您仍然可以通過Control-Space顯式使用這壹功能。

在輸入的時候,您可以通過鍵入壹個子串來縮小建議列表:

或者,您可以鍵入CammelCaseClasses或function_names_with_underscores的第壹個字母:

如果您鍵入Ctrl-Space壹次,PyCharm將嘗試列出最相關的項目:

如果妳再次鍵入Control-Space,將列出它所知道的每壹個名字。這可能是壓倒性的,但要註意,它列出了沒有導入的文件 bar.py中的函數name_of_mother。

但往往妳只是想補全在打開的緩沖區中的壹個局部變量的名稱。很久以前可以在Emacs和Vim實現這壹功能,二現在也可以在PyCharm上實現。手冊將其稱為Hippie Completion,但實際的命令名稱(即,妳會發現在Find Action的那個名字)是“Cyclic Expand Word”,並且在我的測試中,它甚至對文檔字符串有效。

代碼補全可能無法在某些情況下工作,比如當壹個庫沒有類型提示。這個StackOverflow頁面建議在PDB中設置斷點並用dir列出所有可能的屬性。壹個類似的解決方案是在PyCharm創建斷點,並執行壹條表達式——通過在調試工具欄點擊最後壹個圖標(或使用適當的鍵盤快捷鍵)。在這種情況下,我計算的表達式是“dir(r)”。

訪問文檔

PyCharm有三種方式可以訪問文檔:快速定義,快速文檔,外部文檔,以及參數信息。您可以從查看菜單或者從各自的快捷方式去訪問它們。

快速定義將顯示整個定義的符號(類,方法,功能等)的(廢話!),當然也包括文檔。如果妳只是想快速瀏覽壹下的定義,而跳躍到它是很有用的。

快速文檔將顯示符號的文檔和簽名。

最後,外部文檔,以及參數信息是非常簡單的。第壹個在默認瀏覽器中打開文檔,第二個給出了壹個函數或方法(例如快速查詢關鍵字參數的名稱是很有用)參數信息。

外部文檔工作外適用於Python(當然),PyQt4,PySide,GTK,WX,numpy,SciPy,和kivy,並且您可以為外部文檔添加路徑,在Settings→Python External Documentation中設置。

代碼質量

當妳在打字的時候,PyCharm會檢查妳的代碼是否符合PEP8。它會讓妳知道,妳是否有太多的空格或空行等等。如果妳願意,妳可以配置PyCharm運行pylint作為外部工具。

在源代碼找到自己的方式

當妳掌握了它的導航命令時,PyCharm開始變得強大起來。它可以跳轉到類,函數等等。在Mac上妳可以利用?-B或者?-Click跳轉到類,方法,函數,變量的定義,同樣在Windows和Linux上使用 或Ctrl-B或者Ctrl-Click。

導航到類,文件或符號的機制幾乎是壹樣的。在妳輸入壹個字符串的時候,妳將看到壹個對話框,包括妳當前項目以外的項目,同市匹配過濾的結果。轉至導航菜單或使用相應的鍵盤快捷鍵:

這是壹個類定義典型的對話框:

妳可以輸入名稱的壹部分,包括文件擴展名。舉例來說,如果妳想打開Django項目的壹個JavaScript文件是,但又不記得它的名字,妳可以搜索“.js”。

這些功能使我們能夠非常快速地瀏覽源代碼。假設我們正在研究Django的源代碼,我們希望看到的是功能實現的過程。我們不知道它的定義,所以我們去Navigate→Symbo(?-?-O),輸入“render”,並選擇第壹個選項(我們可以看到它在django.shortcuts定義)。如果我們隱藏了導航欄,我們可以使用Navigate→Jump到導航欄(?-↑),快速顯示它並查看該文件定位(django→django→shortcuts.py):

有時在去掉妳並不感興趣的那部分東西之後,代碼補全的效率會更高。在下面的例子中,我刪除相關的JavaScript的結果,得到了壹個更加簡潔的列表:

PyCharm可以讓妳折疊塊,如類,方法和函數,但妳可以創建自己的可折疊的區域。當涉及到成組的壹些東西時,就很有用(類,方法,函數等)。這些模塊可以折疊的話,會使我們能夠專註於代碼的特定區域。妳可以通過Navigate→Custom Region或使用相應的鍵盤快捷鍵來顯示列表文件中的所有區域。遺憾的是有沒有辦法在壹個工程中列出所有區域。

單元測試

在我們可以運行測試文件之前,我們需要添加壹個新的運行/調試配置。我們去Run→Edit Configurations,然後點擊在左上角的加號按鈕。然後,我們選擇“Python tests”,開始測試。在這個例子中,我將使用單元測試:

最後,我們需要添加這些測試的文件夾,並選擇正確的Python解釋器:

現在就像我們運行代碼壹樣,我們可以運行我們的測試:通過點擊工具欄或者選擇Run→Run(Control-?-R)。這將打開壹個對話框,妳可以在對話框中選擇妳想要運行的代碼(妳可以運行別的)。您可以進行所有測試或僅測試光標。

當妳運行測試是,PyCharm會記住妳最後的選擇,這樣妳就可以利用Control-R來重復測試。這非常有用,如果妳解決了壹個特定的測試情況,並希望多次運行它,但不運行其他測試。妳並不需要定位到妳想要運行的測試文件;妳可以從任意文件中運行測試。您可以通過選擇Navigate→Test(或相應的熱鍵)完成代碼的測試。

處理多個文件

正如妳看到的那樣,PyCharm為每壹個文件使用壹個標簽要切換到標簽,我們可以使用命令選擇下壹個標簽或者選擇上壹個標簽。默認快捷鍵是Control-→ 和Control-←,但OS X使用這些按鍵,讓我重新綁定它們至Control-?-N和Control-?-P(在終端我使用同樣的快捷方式切換標簽頁)。

壹個更直接的方法選定標簽就是使用Navigate→File,或者View→Recent Files(?-E)和View→Recently Changed Files(?-?-E)。最後兩個命令將顯示文件,妳可以通過輸入子串來縮小選擇範圍。在下面的例子中,我只需要輸入“?-E”,“S”,“ENTER”鍵進入scratch.py文件的標簽:

多窗口

PyCharm支持多窗口,雖然不如Emacs中那麽優秀,但也足夠用了。

在默認情況下沒有已分配的快捷方式來處理分割窗口,所以妳必須自己做。這些是我用的快捷鍵:

垂直分割,Control-S

水平分割,Control-H

非剖分,Control-C Control-U

非剖分所有,Control-C Control-A

轉到下壹個分離器,Control -C Control -N

轉到上壹頁分離器,Control -C Control -P

移動到相對組,Control -C Control –M

再有兩個窗格的情況下拖動標簽比較方便。

總結

PyCharm可以為我們做很多事情。我們看到了如何使用virtualenv,定義快捷鍵,使用外部編輯器,運行代碼,定義宏,找到查找操作命令,可以高效地進行代碼完成,訪問文檔,瀏覽源代碼,運行單元測試,並處理多個文件和分割的窗口。

而這些只是表面文章。我們還沒有談論編輯,版本控制,插件,調試(本地和遠程),模板,使用捆綁的TextMate,網絡開發等等更多的功能。

我建議妳檢查PyCharm的官方文檔,包括快速入門指南和在線幫助。此外,Andrew Brookins從Vim用戶的角度寫了壹片很好的PyCharm評論。我推薦妳去閱讀壹下,即使妳不使用Vim。

  • 上一篇:黑客帝國--特技
  • 下一篇:Excelsie編程縮寫
  • copyright 2024編程學習大全網