PyCharm for Productive Python Development(ガイド)

PyCharm for Productive Python Development(ガイド)

プログラマーとして、ビジネスロジックに焦点を当て、ユーザーにとって有用なアプリケーションを作成する必要があります。 その際、PyCharm xJetBrainsは、ルーチンを処理し、デバッグや視覚化などの他の多くのタスクを簡単にすることで、時間を大幅に節約します。

この記事では、以下について学習します。

  • PyCharmのインストール

  • PyCharmでコードを書く

  • PyCharmでコードを実行する

  • PyCharmでのコードのデバッグとテスト

  • PyCharmで既存のプロジェクトを編集する

  • PyCharmでの検索とナビゲーション

  • PyCharmでバージョン管理を使用する

  • PyCharmでプラグインと外部ツールを使用する

  • DjangoサポートやScientificモードなどのPyCharm Professional機能の使用

この記事では、読者がPythonの開発に精通しており、既に何らかの形式のPythonがシステムにインストールされていることを前提としています。 このチュートリアルでは、Python 3.6が使用されます。 提供されるスクリーンショットとデモはmacOS用です。 PyCharmはすべての主要なプラットフォームで実行されるため、UI要素がわずかに異なる場合があり、特定のコマンドを変更する必要がある場合があります。

Note

PyCharmには3つのエディションがあります:

  1. PyCharm Eduは無料で、教育目的です。

  2. PyCharm Communityも無料で、純粋なPython開発を目的としています。

  3. PyCharm Professionalは有料で、Communityエディションにあるすべてのものを備えており、DjangoやFlaskなどのフレームワーク、データベースやSQL、Jupyterなどの科学ツールをサポートするWebおよび科学開発にも非常に適しています。

それらの違いの詳細については、JetBrainsによるPyCharm Editions Comparison Matrixを確認してください。 同社はまた、学生、教師、オープンソースプロジェクト、およびその他のケースのためのspecial offersを持っています。

Clone Repo:Click here to clone the repo you’ll useは、このチュートリアルでPyCharmのプロジェクトに焦点を当てた機能を探索します。

PyCharmのインストール

この記事ではPyCharm Community Edition 2019.1を使用します。これはすべての主要プラットフォームで無料で利用できます。 プロフェッショナル機能に関するセクションのみがPyCharm Professional Edition 2019.1を使用します。

PyCharmをインストールするための推奨される方法は、JetBrains Toolbox Appを使用することです。 その助けを借りて、異なるJetBrains製品または同じ製品の複数のバージョンをインストールし、更新、ロールバックし、必要に応じてツールを簡単に削除できます。 また、適切なIDEおよびバージョンでプロジェクトをすばやく開くこともできます。

Toolboxアプリをインストールするには、JetBrainsのdocumentationを参照してください。 OSに応じて、自動的に正しい指示が表示されます。 OSが正しく認識されなかった場合、右上のドロップダウンリストからいつでも見つけることができます。

List of OSes in the JetBrains website

インストール後、アプリを起動し、ユーザー契約に同意します。 [Tools]タブの下に、利用可能な製品のリストが表示されます。 そこでPyCharmコミュニティを見つけてInstallをクリックします:

PyCharm installed with the Toolbox app

ほら! マシンでPyCharmを使用できます。 ツールボックスアプリを使用したくない場合は、stand-alone installation of PyCharmを実行することもできます。

PyCharmを起動すると、インポート設定のポップアップが表示されます。

PyCharm Import Settings Popup

PyCharmはこれが新規インストールであることを自動的に検出し、Do not import settingsを選択します。 OKをクリックすると、PyCharmはキーマップスキームを選択するように要求します。 デフォルトのままにして、右下のNext: UI Themesをクリックします。

PyCharm Keymap Scheme

その後、PyCharmはDarculaと呼ばれるダークテーマまたはライトテーマを選択するように求めます。 どちらかを選択して、Next: Launcher Scriptをクリックします。

PyCharm Set UI Theme Page

このチュートリアルでは、ダークテーマDarculaを使用します。 他のテーマをpluginsとして検索してインストールすることも、import themとしてインストールすることもできます。

次のページで、デフォルトのままにして、Next: Featured pluginsをクリックします。 そこで、PyCharmはほとんどのユーザーがプラグインを使用したいので、インストールしたいプラグインのリストを表示します。 Start using PyCharmをクリックすると、コードを書く準備が整います。

PyCharmでコードを書く

PyCharmでは、projectのコンテキストですべてを実行します。 したがって、最初に行う必要があるのは、作成です。

PyCharmをインストールして開くと、ようこそ画面が表示されます。 Create New Projectをクリックすると、New Projectポップアップが表示されます。

New Project in PyCharm

プロジェクトの場所を指定し、Project Interpreterドロップダウンを展開します。 ここでは、新しいプロジェクトインタープリターを作成するか、既存のプロジェクトインタープリターを再利用するかを選択できます。 New environment usingを選択します。 そのすぐ隣に、VirtualenvPipenv、またはCondaのいずれかを選択するためのドロップダウンリストがあります。これらは、作成することにより、さまざまなプロジェクトに必要な依存関係を分離するのに役立つツールです。それらのための分離されたPython環境。

好きなものを自由に選択できますが、このチュートリアルではVirtualenvが使用されます。 必要に応じて、環境の場所を指定し、システムからインストールされているPythonインタープリター(Python2.7やPython3.6など)のリストであるリストからベースインタープリターを選択できます。 通常、デフォルトで問題ありません。 次に、グローバルサイトパッケージを新しい環境に継承し、他のすべてのプロジェクトで使用できるようにするために、ボックスを選択する必要があります。 未選択のままにします。

右下のCreateをクリックすると、作成された新しいプロジェクトが表示されます。

Project created in PyCharm

また、小さなTip of the Dayポップアップが表示され、PyCharmが起動ごとに1つのトリックを学習します。 このポップアップを閉じてください。

ここで、新しいPythonプログラムを開始します。 WindowsまたはLinuxを使用している場合は、Cmd[.kbd .key-n]#N## if you are on Mac or [.keys]#[.kbd .key-alt]##Alt##[.kbd .key-insert]#Ins#と入力します。 次に、Python Fileを選択します。 メニューからFile → Newを選択することもできます。 新しいファイルにguess_game.pyという名前を付け、OKをクリックします。 次のようなPyCharmウィンドウが表示されます。

PyCharm New File

テストコードでは、ユーザーが推測する必要のある数字をプログラムが選択する単純な推測ゲームをすばやくコーディングしましょう。 推測ごとに、プログラムはユーザーの推測が秘密の数値よりも小さいか大きいかを判断します。 ユーザーが数字を推測すると、ゲームは終了します。 ゲームのコードは次のとおりです。

 1 from random import randint
 2
 3 def play():
 4     random_int = randint(0, 100)
 5
 6     while True:
 7         user_guess = int(input("What number did we guess (0-100)?"))
 8
 9         if user_guess == randint:
10             print(f"You found the number ({random_int}). Congrats!")
11             break
12
13         if user_guess < random_int:
14             print("Your number is less than the number we guessed.")
15             continue
16
17         if user_guess > random_int:
18             print("Your number is more than the number we guessed.")
19             continue
20
21
22 if __name__ == '__main__':
23     play()

コピーして貼り付けるのではなく、このコードを直接入力します。 次のようなものが表示されます。

Typing Guessing Game

ご覧のとおり、PyCharmはIntelligent Coding Assistanceにコード補完、コード検査、オンザフライのエラー強調表示、およびクイックフィックスの提案を提供します。 特に、mainと入力してタブを押すと、PyCharmがmain句全体を自動的に完了したことに注意してください。

また、条件の前にifを入力するのを忘れた場合、.ifを追加してから、[.kbd .key-tab]#Tab#を押すと、PyCharmがif句を修正する方法にも注意してください。 同じことがTrue.whileにも当てはまります。 これは、キャレットの後方ジャンプを減らすのに役立つPyCharm’s Postfix completionsです。

PyCharmでコードを実行する

ゲームのコーディングが完了したので、今度はゲームを実行します。

このプログラムを実行するには、次の3つの方法があります。

  1. WindowsまたはLinuxではショートカットCtrl[.kbd .key-shift]##Shift##[.kbd .key-r]#R on Mac or [.keys] [.kbd .key-control] Ctrl[.kbd .key-shift]##Shift##[.kbd .key-f10]#F10を使用します。

  2. 背景を右クリックし、メニューからRun ‘guess_game’を選択します。

  3. このプログラムには__main__句があるので、__main__句の左側にある小さな緑色の矢印をクリックして、そこからRun ‘guess_game’を選択できます。

上記のオプションのいずれかを使用してプログラムを実行すると、ウィンドウの下部に[ツールの実行]ペインが表示され、コード出力に以下が表示されます。

Running a script in PyCharm

推測された数字を見つけることができるかどうかを確認するために、少しゲームをプレイします。 プロのヒント:50から始めます。

PyCharmでのデバッグ

番号を見つけましたか? もしそうなら、番号を見つけた後に何か変なものを見たかもしれません。 お祝いのメッセージを出力して終了する代わりに、プログラムは最初からやり直しているようです。 これはバグです。 プログラムが最初からやり直される理由を見つけるために、プログラムをデバッグします。

最初に、行番号8の左側の空白スペースをクリックしてブレークポイントを配置します。

Debug breakpoint in PyCharm

これは、プログラムが中断されるポイントになり、そこから何が悪かったのかを探り始めることができます。 次に、次の3つの方法のいずれかを選択してデバッグを開始します。

  1. WindowsまたはLinuxでCtrl[.kbd .key-shift]##Shift##[.kbd .key-d]#D on Mac or [.keys] [.kbd .key-shift] Shift[.kbd .key-alt]##Alt##[.kbd .key-f9]#F9を押します。

  2. 背景を右クリックして、Debug ‘guess_game’を選択します。

  3. __main__句の左側にある小さな緑色の矢印をクリックし、そこからDebug ‘guess_gameを選択します。

その後、下部にDebugウィンドウが開きます。

Start of debugging in PyCharm

以下の手順に従って、プログラムをデバッグします。

  1. 現在の行が青で強調表示されていることに注意してください。

  2. random_intとその値が[デバッグ]ウィンドウに一覧表示されていることを確認します。 この番号をメモします。 (写真では、番号は85です。)

  3. 必要に応じて、[.kbd .key-f8]#F8 to execute the current line and step over to the next one. You can also use [.keys] [.kbd .key-f7]#F7を押して、現在の行の関数をステップintoにします。 ステートメントの実行を続けると、変数の変更がデバッガウィンドウに自動的に反映されます。

  4. 開いた[デバッガ]タブのすぐ横に[コンソール]タブがあることに注意してください。 この[コンソール]タブと[デバッガ]タブは相互に排他的です。 [コンソール]タブではプログラムと対話し、[デバッガ]タブではデバッグアクションを実行します。

  5. [コンソール]タブに切り替えて、推測を入力します。

  6. 表示されている番号を入力し、[.kbd .key-enter]#Enter#を押します。

  7. [デバッガ]タブに戻ります。

  8. [.kbd .key-f8]#F8#をもう一度押して、ifステートメントを評価します。 14行目にいることに注意してください。 でもちょっと待って! 11行目に行かなかったのはなぜですか? その理由は、10行目のifステートメントがFalseに評価されたためです。 しかし、選択した数値を入力したときに、なぜFalseと評価されたのでしょうか。

  9. 10行目を注意深く見て、user_guessを間違ったものと比較していることに注意してください。 random_intと比較する代わりに、randomパッケージからインポートされた関数であるrandintと比較しています。

  10. random_intに変更し、デバッグを再開して、同じ手順を再度実行します。 今回は11行目に移動し、10行目はTrueと評価されることがわかります。

Debugging Script in PyCharm

おめでとうございます。 バグを修正しました。

PyCharmでのテスト

単体テストなしでは信頼できるアプリケーションはありません。 PyCharmは、それらを非常に迅速かつ快適に作成および実行するのに役立ちます。 デフォルトでは、unittestがテストランナーとして使用されますが、PyCharmはpytestnosedoctesttox、%などの他のテストフレームワークもサポートします(t5)s。 たとえば、次のようにプロジェクトでpytestを有効にできます。

  1. Settings/Preferences → Tools → Python Integrated Tools設定ダイアログを開きます。

  2. [デフォルトのテストランナー]フィールドでpytestを選択します。

  3. OKをクリックして設定を保存します。

この例では、デフォルトのテストランナーunittestを使用します。

同じプロジェクトで、calculator.pyというファイルを作成し、その中に次のCalculatorクラスを配置します。

 1 class Calculator:
 2     def add(self, a, b):
 3         return a + b
 4
 5     def multiply(self, a, b):
 6         return a * b

PyCharmを使用すると、既存のコードのテストを非常に簡単に作成できます。 calculator.pyファイルを開いた状態で、次のいずれかを実行します。

  • WindowsまたはLinuxではShift[.kbd .key-command]##Cmd##[.kbd .key-t]#T on Mac or [.keys] [.kbd .key-control] Ctrl[.kbd .key-shift]##Shift##[.kbd .key-t]#Tを押します。

  • クラスの背景を右クリックして、Go ToTestを選択します。

  • メインメニューで、Navigate → Testを選択します。

Create New Test…を選択すると、次のウィンドウが表示されます。

Create tests in PyCharm

デフォルトのTarget directoryTest file name、およびTest class nameのままにします。 両方の方法を選択し、OKをクリックします。 ほら! PyCharmはtest_calculator.pyというファイルを自動的に作成し、その中に次のスタブテストを作成しました。

 1 from unittest import TestCase
 2
 3 class TestCalculator(TestCase):
 4     def test_add(self):
 5         self.fail()
 6
 7     def test_multiply(self):
 8         self.fail()

以下のいずれかの方法を使用してテストを実行します。

  • WindowsまたはLinuxではCtrl[.kbd .key-r]#R## on Mac or [.keys]#[.kbd .key-shift]##Shift##[.kbd .key-f10]#F10#を押します。

  • 背景を右クリックして、Run ‘Unittests for test_calculator.py’を選択します。

  • テストクラス名の左側にある小さな緑色の矢印をクリックして、Run ‘Unittests for test_calculator.py’を選択します。

すべてのテストが失敗したテストウィンドウが下部に表示されます。

Failed tests in PyCharm

左側にテスト結果の階層があり、右側に端末の出力があることに注意してください。

ここで、コードを次のように変更して、test_addを実装します。

 1 from unittest import TestCase
 2
 3 from calculator import Calculator
 4
 5 class TestCalculator(TestCase):
 6     def test_add(self):
 7         self.calculator = Calculator()
 8         self.assertEqual(self.calculator.add(3, 4), 7)
 9
10     def test_multiply(self):
11         self.fail()

テストを再度実行すると、1つのテストが成功し、もう1つのテストが失敗したことがわかります。 合格したテストを表示するオプション、無視されたテストを表示するオプション、テストをアルファベット順にソートするオプション、およびテストを期間別にソートするオプションを調べます。

Running tests in PyCharm

上記のGIFに表示されているsleep(0.1)メソッドは、テストの1つを遅くするために意図的に使用されているため、期間による並べ替えが機能することに注意してください。

PyCharmで既存のプロジェクトを編集する

これらの単一ファイルプロジェクトは、例としては優れていますが、多くの場合、より大きなプロジェクトを長期間にわたって作業します。 このセクションでは、より大きなプロジェクトでPyCharmがどのように機能するかを見ていきます。

PyCharmのプロジェクト中心の機能を調べるには、学習用に構築されたAlcazar Webフレームワークを使用します。 追跡を続けるには、レポジトリをローカルでクローンします:

Clone Repo:Click here to clone the repo you’ll useは、このチュートリアルでPyCharmのプロジェクトに焦点を当てた機能を探索します。

プロジェクトをローカルに作成したら、次のいずれかの方法を使用してPyCharmでプロジェクトを開きます。

  • メインメニューのFile → Openをクリックします。

  • そこにいる場合は、Welcome ScreenOpenをクリックします。

これらの手順のいずれかの後、コンピューター上でプロジェクトを含むフォルダーを見つけて開きます。

このプロジェクトにvirtual environmentが含まれている場合、PyCharmはこの仮想環境を自動的に使用し、プロジェクトインタープリターにします。

別のvirtualenvを設定する必要がある場合は、MacでCmd[.kbd .key-comma]#,## or _Settings_ on Windows or Linux by pressing [.keys]#[.kbd .key-control]##Ctrl##Alt+[.kbd .key-s]#S#を押してPreferencesを開き、Project: ProjectNameセクションを見つけます。 ドロップダウンを開き、Project Interpreterを選択します。

Project interpreter in PyCharm

ドロップダウンリストからvirtualenvを選択します。 そこにない場合は、ドロップダウンリストの右側にある設定ボタンをクリックして、Add…を選択します。 残りの手順は、creating a new projectのときと同じである必要があります。

PyCharmでの検索とナビゲーション

一人ですべての場所を覚えるのが難しい大規模プロジェクトでは、探しているものをすばやく見つけて見つけることができることが非常に重要です。 PyCharmでもここで説明しています。 上記のセクションで開いたプロジェクトを使用して、これらのショートカットを練習します。

  • Searching for a fragment in the current file: WindowsまたはLinuxではCmd[.kbd .key-f]#F## on Mac or [.keys]#[.kbd .key-control]##Ctrl##[.kbd .key-f]#F#を押します。

  • Searching for a fragment in the entire project: WindowsまたはLinuxではCmd[.kbd .key-shift]##Shift##[.kbd .key-f]#F on Mac or [.keys] [.kbd .key-control] Ctrl[.kbd .key-shift]##Shift##[.kbd .key-f]#Fを押します。

  • Searching for a class: WindowsまたはLinuxではCmd[.kbd .key-o]#O## on Mac or [.keys]#[.kbd .key-control]##Ctrl##[.kbd .key-n]#N#を押します。

  • Searching for a file: WindowsまたはLinuxではCmd[.kbd .key-shift]##Shift##[.kbd .key-o]#O on Mac or [.keys] [.kbd .key-control] Ctrl[.kbd .key-shift]##Shift##[.kbd .key-n]#Nを押します。

  • Searching all if you don’t know whether it’s a file, class, or a code fragment that you are looking for:[.kbd .key-shift]#Shift#を2回押します。

ナビゲーションについては、次のショートカットを使用すると時間を大幅に節約できます。

  • Going to the declaration of a variable: WindowsまたはLinuxでは[.kbd .key-command]#Cmd on Mac or [.keys] [.kbd .key-control] #Ctrlを押し、変数をクリックします。

  • Finding usages of a class, a method, or any symbol:Alt+[.kbd .key-f7]#F7#を押します。

  • Seeing your recent changes:Shift[.kbd .key-alt]##Alt##[.kbd .key-c]#C#を押すか、メインメニューのView → Recent Changesに移動します。

  • Seeing your recent files: WindowsまたはLinuxではCmd[.kbd .key-e]#E## on Mac or [.keys]#[.kbd .key-control]##Ctrl##[.kbd .key-e]#E#を押すか、メインメニューでView → Recent Filesに移動します。

  • Going backward and forward through your history of navigation after you jumped around:Cmd[.kbd .key-bracket-left]#[## / [.keys]#[.kbd .key-command]##Cmd##[.kbd .key-bracket-right]] on Mac or [.kbd .key-control]Ctrl[.kbd .key-alt]##Alt##[.kbd .key-arrow-left]#Left / [.keys]Ctrl [.kbd .key-alt] ## Alt ##Rightを押します#WindowsまたはLinuxの場合。

詳細については、official documentationを参照してください。

PyCharmでバージョン管理を使用する

GitMercurialなどのバージョン管理システムは、現代のソフトウェア開発の世界で最も重要なツールの一部です。 したがって、IDEがそれらをサポートすることは不可欠です。 PyCharmは、Git(およびGithub)、Mercurial、PerforceSubversionなどの多くの一般的なVCシステムと統合することで非常にうまく機能します。

NoteGitは、次の例で使用されます。

VCSの構成

VCS統合を有効にします。 上部のメニューからVCS → VCS Operations Popup…に移動するか、WindowsまたはLinuxの場合はCtrl[.kbd .key-v]#V## on Mac or [.keys]#[.kbd .key-alt]##Alt##[.kbd .key-grave]` ##を押します。 Enable Version Control Integration…を選択します。 次のウィンドウが開きます。

Enable Version Control Integration in PyCharm

ドロップダウンリストからGitを選択し、OKをクリックすると、プロジェクトでVCSが有効になります。 バージョン管理が有効になっている既存のプロジェクトを開いた場合、PyCharmはそれを確認して自動的に有効にすることに注意してください。

ここで、VCS Operations Popup…に移動すると、git addgit stashgit branchgit commit、%を実行するオプションを含む別のポップアップが表示されます。 (t5)s以上:

VCS operations in PyCharm

必要なものが見つからない場合は、トップメニューからVCSに移動し、Gitを選択すると、プルリクエストを作成して表示することもできます。

コミットと紛争解決

これらはPyCharmのVCS統合の2つの機能であり、私は個人的に使用しており、多くのことを楽しんでいます! 作業を終えて、コミットしたいとしましょう。 WindowsまたはLinuxでは、VCS → VCS Operations Popup… → Commit…に移動するか、Cmd[.kbd .key-k]#K## on Mac or [.keys]#[.kbd .key-control]##Ctrl##[.kbd .key-k]#K#を押します。 次のウィンドウが開きます。

Commit window in PyCharm

このウィンドウでは、次のことができます。

  1. コミットするファイルを選択する

  2. コミットメッセージを書く

  3. あらゆる種類のチェックとクリーンアップを実行しますbefore commit

  4. 変更の違いを見る

  5. 右下のCommitボタンの右側にある矢印を押し、Commit and Push…を選択して、コミットして一度にプッシュします。

特にコマンドラインですべてを手動で行うことに慣れている場合は、魔法のように速く感じることができます。

チームで作業する場合、merge conflictsが発生します。 誰かがあなたが作業しているファイルに変更をコミットしたが、あなたとあなたの両方が同じ行を変更したためにそれらの変更があなたのものと重複した場合、VCSはあなたの変更を選択するべきかチームメートのものを選択することができません。 したがって、これらの不幸な矢印と記号が表示されます:

Conflicts in PyCharm

これは奇妙に見え、どの変更を削除し、どの変更を残す必要があるかを判断するのは困難です。 PyCharmが助けになります! 競合を解決する、はるかに優れたクリーンな方法があります。 トップメニューのVCSに移動し、Git、次にResolve conflicts…を選択します。 競合を解決するファイルを選択し、Mergeをクリックします。 次のウィンドウが開きます。

Conflict resolving windown in PyCharm

左の列に、変更が表示されます。 右側では、チームメイトによって行われた変更。 最後に、中央の列に結果が表示されます。 競合する行が強調表示され、それらの行のすぐ横に小さなX>> /<<が表示されます。 矢印を押して変更を受け入れ、Xを押して拒否します。 これらの競合をすべて解決したら、Applyボタンをクリックします。

Resolving Conflicts in PyCharm

上記のGIFでは、最初の競合する行について、著者は自分の変更を拒否し、チームメイトの変更を受け入れました。 逆に、著者は自分の変更を受け入れ、競合する2行目のチームメイトを辞退しました。

PyCharmのVCS統合でできることは他にもたくさんあります。 詳細については、this documentationを参照してください。

PyCharmでプラグインと外部ツールを使用する

PyCharmで開発に必要なほぼすべてのものを見つけることができます。 できない場合は、PyCharmに必要な機能を追加するpluginがおそらくあります。 たとえば、次のことができます。

  • さまざまな言語とフレームワークのサポートを追加する

  • ショートカットヒント、ファイルウォッチャーなどで生産性を向上

  • コーディング演習で新しいプログラミング言語を学ぶのに役立ちます

たとえば、IdeaVimはVimエミュレーションをPyCharmに追加します。 Vimが好きなら、これはかなり良い組み合わせになります。

Material Theme UIは、PyCharmの外観をマテリアルデザインのルックアンドフィールに変更します。

Material Theme in PyCharm

Vue.jsは、Vue.jsプロジェクトのサポートを追加します。 Markdownは、IDE内でマークダウンファイルを編集し、ライブプレビューでレンダリングされたHTMLを表示する機能を提供します。 Macの場合はPreferences → Plugins、WindowsまたはLinuxの場合はSettings → Pluginsの[Marketplace]タブに移動すると、使用可能なすべてのプラグインを見つけてインストールできます。

Plugin Marketplace in PyCharm

必要なものが見つからない場合は、develop your own pluginにすることもできます。

適切なプラグインが見つからず、既にPyPIにパッケージがあるために独自のプラグインを開発したくない場合は、外部ツールとしてPyCharmに追加できます。 例として、コードアナライザーであるFlake8を取り上げます。

まず、選択したターミナルアプリでpip install flake8を使用してvirtualenvにflake8をインストールします。 PyCharmに統合されたものを使用することもできます:

Terminal in PyCharm

次に、Macの場合はPreferences → Toolsに、Windows / Linuxの場合はSettings → Toolsに移動し、External Toolsを選択します。 次に、下部にある小さな+ボタンをクリックします(1)。 新しいポップアップウィンドウで、以下に示すように詳細を挿入し、両方のウィンドウでOKをクリックします。

Flake8 tool in PyCharm

ここで、Program(2)は、仮想環境のフォルダー/binにあるFlake8実行可能ファイルを指します。 Arguments(3)は、Flake8を使用して分析するファイルを示します。 Working directoryはプロジェクトのディレクトリです。

ここではすべての絶対パスをハードコーディングできますが、他のプロジェクトではこの外部ツールを使用できないことを意味します。 1つのファイルの1つのプロジェクト内でのみ使用できます。

したがって、Macrosと呼ばれるものを使用する必要があります。 マクロは基本的に$name$の形式の変数であり、コンテキストに応じて変化します。 たとえば、first.pyを編集している場合は$FileName$first.pyであり、second.pyを編集している場合はsecond.pyです。 Insert Macro…ボタンをクリックすると、それらのリストが表示され、それらのいずれかを挿入できます。 ここでマクロを使用したため、現在作業中のプロジェクトに応じて値が変更され、Flake8は引き続き適切に機能します。

これを使用するには、ファイルexample.pyを作成し、次のコードをその中に入れます。

 1 CONSTANT_VAR = 1
 2
 3
 4
 5 def add(a, b):
 6     c = "hello"
 7     return a + b

これは、いくつかのFlake8ルールを意図的に破ります。 このファイルの背景を右クリックします。 External Toolsを選択し、次にFlake8を選択します。 ほら! Flake8分析の出力は下部に表示されます。

Flake8 Output in PyCharm

さらに改善するために、ショートカットを追加できます。 Macの場合はPreferencesに、WindowsまたはLinuxの場合はSettingsに移動します。 次に、Keymap → External Tools → External Toolsに移動します。 Flake8をダブルクリックし、Add Keyboard Shortcutを選択します。 次のウィンドウが表示されます。

Add shortcut in PyCharm

上の画像では、このツールのショートカットはCtrl[.kbd .key-alt]##Alt##[.kbd .key-a]#A#です。 テキストボックスに好みのショートカットを追加し、両方のウィンドウでOKをクリックします。 これで、そのショートカットを使用して、現在Flake8で作業しているファイルを分析できます。

PyCharm Professionalの機能

PyCharm Professionalは、すぐに使える機能と統合を備えたPyCharmの有料版です。 このセクションでは、主にその主な機能の概要と、各機能の詳細について説明している公式ドキュメントへのリンクを紹介します。 Communityエディションでは、次の機能は使用できないことに注意してください。

Djangoのサポート

PyCharmは、最も人気があり愛されているPython web frameworksの1つであるDjangoを広範囲にサポートしています。 有効になっていることを確認するには、次の手順を実行します。

  1. MacではPreferencesを開き、WindowsまたはLinuxではSettingsを開きます。

  2. Languages and Frameworksを選択します。

  3. Djangoを選択します。

  4. チェックボックスEnable Django supportをチェックします。

  5. 変更を適用します。

Djangoのサポートを有効にしたので、PyCharmでのDjangoの開発手順がはるかに簡単になります。

  • プロジェクトを作成するとき、専用のDjangoプロジェクトタイプがあります。 つまり、このタイプを選択すると、必要なファイルと設定がすべて揃います。 これは、django-admin startproject mysiteを使用するのと同じです。

  • manage.pyコマンドはPyCharm内で直接実行できます。

  • 以下を含むDjangoテンプレートがサポートされています。

    • 構文とエラーの強調表示

    • コード補完

    • ナビゲーション

    • ブロック名の完成

    • カスタムタグとフィルターの完成

    • タグとフィルターのクイックドキュメント

    • それらをデバッグする機能

  • ビュー、URL、モデルなどの他のすべてのDjangoパーツのコード補完、およびDjango ORMのコードインサイトサポート。

  • Djangoモデルのモデル依存関係図。

Djangoサポートの詳細については、official documentationを参照してください。

データベースのサポート

最新のデータベース開発は、多くのサポートシステムとワークフローを備えた複雑なタスクです。 そのため、PyCharmの背後にある会社であるJetBrainsは、そのためにDataGripと呼ばれるスタンドアロンIDEを開発しました。 PyCharmとは別のライセンスを持つ別の製品です。

幸い、PyCharmは、デフォルトで有効になっているDatabase tools and SQLというプラグインを介してDataGripで利用できるすべての機能をサポートしています。 それを利用して、データベースがローカル、サーバー、クラウドのいずれで動作していても、データベースのクエリ、作成、管理を行うことができます。 プラグインは、MySQL、PostgreSQL、Microsoft SQL Server、SQLite、MariaDB、Oracle、Apache Cassandraなどをサポートしています。 このプラグインでできることの詳細については、the comprehensive documentation on the database supportを確認してください。

スレッドの同時実行の可視化

Django Channelsasyncio、およびStarletteのような最近のフレームワークは、非同期Pythonプログラミングの成長傾向の例です。 非同期プログラムがテーブルに多くの利点をもたらすことは事実ですが、それらを作成してデバッグすることも有名です。 このような場合、Thread Concurrency Visualizationは、マルチスレッドアプリケーションを完全に制御して最適化するのに役立つため、医師が注文したものになります。

詳細については、the comprehensive documentation of this featureを確認してください。

プロファイラ

最適化といえば、プロファイリングは、コードを最適化するために使用できる別の手法です。 その助けにより、コードのどの部分が実行時間の大部分を占めているかを確認できます。 プロファイラーは、次の優先順位で実行されます。

vmprofまたはyappiがインストールされていない場合は、標準のcProfileにフォールバックします。 well-documentedなので、ここでは再ハッシュしません。

科学モード

Pythonは、一般的なプログラミングやWebプログラミングのための言語だけではありません。 また、NumPySciPyscikit-learnMatplotlibJupyterなどのライブラリとツールのおかげで、ここ数年でデータサイエンスと機械学習に最適なツールとして浮上しました。 )sなど。 このような強力なライブラリを使用するには、それらのライブラリが持つグラフ化や分析などのすべての機能をサポートする強力なIDEが必要です。 PyCharmは必要なものすべてをthoroughly documented hereとして提供します。

リモート開発

多くのアプリケーションのバグの一般的な原因の1つは、開発環境と運用環境が異なることです。 ほとんどの場合、開発用に本番環境の正確なコピーを提供することはできませんが、それを追求することは価値のある目標です。

PyCharmでは、Linux VMなど、他のコンピューターにあるインタープリターを使用してアプリケーションをデバッグできます。 その結果、実稼働環境と同じインタープリターを使用して、開発環境と実稼働環境の違いに起因する多くのバグを修正および回避できます。 詳細については、official documentationを確認してください。

結論

PyCharmは、Python開発用のフル機能を備えた専用の汎用IDEとしては、最高ではないにしても最高の1つです。 それは多くの利点を提供し、日常的なタスクを支援することで多くの時間を節約します。 これで生産性を高める方法がわかりました!

この記事では、次のような多くのことを学びました。

  • PyCharmのインストール

  • PyCharmでコードを書く

  • PyCharmでコードを実行する

  • PyCharmでのコードのデバッグとテスト

  • PyCharmで既存のプロジェクトを編集する

  • PyCharmでの検索とナビゲーション

  • PyCharmでバージョン管理を使用する

  • PyCharmでプラグインと外部ツールを使用する

  • DjangoサポートやScientificモードなどのPyCharm Professional機能の使用

質問または共有したいことがある場合は、以下のコメントでお問い合わせください。 PyCharm websiteには、探索できる情報もたくさんあります。

Clone Repo:Click here to clone the repo you’ll useは、このチュートリアルでPyCharmのプロジェクトに焦点を当てた機能を探索します。