Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PyCharm入門

11,360 views

Published on

第33回コンピュータビジョン勉強会@関東の資料です。

Published in: Technology
  • Login to see the comments

PyCharm入門

  1. 1. 第33回 コンピュータビジョン勉強会@関東 PyCharm⼊入⾨門 @yuukicammy 2016.4.17
  2. 2. 自己紹介 • yuukicammy • 画像処理理関係の研究開発に従事 • 普段使うプログラミング⾔言語と開発環境 • C++  with  Visual  Studio   • MATLAB • [New!]  Python  with  PyCharm (2016/1〜~) 第33回 コンピュータビジョン勉強会@関東 2
  3. 3. 本日の内容 :  PyCharmの紹介 • 最近の(私の)開発スタイル • PyCharmについて • Intelligent  Code  Assistance   • デバッグ機能 • リモート開発 • プロファイリング 第33回 コンピュータビジョン勉強会@関東 3
  4. 4. 最近の開発スタイル • 深層学習系など処理時間の長いプログラムの開発は複数台マシンが使えると便利 • ラップトップ1台でコーディングを行う • 実行はリモートのマシンで行う(データはリモートのマシンに置く) そこで • ローカルマシン上でssh経由でリモートデバッグしたい • しかもIDEを使いたい PyCharmが便利!!! 第33回 コンピュータビジョン勉強会@関東 4
  5. 5. PyCharm • Pythonの統合開発環境(IDE) • IntelliJの開発で有名なJetBrains社(チェコ)の製品 • Editionと主な機能 • 価格 • 商用 US $ 199  (¥21,644) /1st  year • 個人 US $ 89  (¥9,680)/1st  year • 学生無料、スタートアップ50%off、競合製品利用者25%off… 第33回 コンピュータビジョン勉強会@関東 5 エディタ (補完、エ ラー検出) デバッグ 検索・ジャンプ・ リファクタリング 検証 バージョン管理 (Git,  SVN) 分析系ツール (Ipython   Nootbook,   NumPy  Array   Viewer) Web開発 (Django,   Flask,  Google   App  Engine) プロファイリ ング リモート開発 データベース Community ○ ○ ○ ○ ○ ○ × × × × Professional ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
  6. 6. Intelligent  Code  Assistance   第33回 コンピュータビジョン勉強会@関東 6 • Intelligent  Code  Editor • 補完、エラー検出、 コード修正(on-­‐the-­‐fly  code  fixes) • Smart  Code  Navigation • 定義・親クラスなどへのジャンプ • Fast  and  Safe  Refactorings • リファクタリング(変数名変更、削除など)
  7. 7. デバッグ -­‐インタプリタの設定-­‐ • Python  Interpreterの登録 • VirtualEnvの作成・指定も可能 • インストールされているパッケージの確認もここでできる Preference  -­‐>  Project  -­‐>  Project  Interpreter 第33回 コンピュータビジョン勉強会@関東 7
  8. 8. デバッグ -­‐実行するプログラムの設定-­‐ • 実行するpythonファイル、コマンドライン引数、インタープリタなどを 指定 • 必要に応じて環境変数の指定も可能 第33回 コンピュータビジョン勉強会@関東 8 Run  -­‐>  Edit  Configurations
  9. 9. デバッグ • ブレークポイント • 変数にカーソルをあてて現在の値 を確認 • 変数一覧とその値を確認 第33回 コンピュータビジョン勉強会@関東 9
  10. 10. デバッグ -­‐画面全体-­‐ 第33回 コンピュータビジョン勉強会@関東 10 ファイル一覧 デバッグ操作ボタン スレッド指定 変数一覧 コード (デバッグ中はコード上 にも変数の値が表示さ れる) コンソール
  11. 11. リモート開発 -­‐概要-­‐ • PyCharm上で • ssh経由でリモートマシンで実行・デバッグができる • リモートマシンとのファイル同期ができる • 必要な設定 • リモートのPythonインタープリタの設定 • ローカルの特定ディレクトリと対応するリモートディレクトリの指定 (Deployment) 第33回 コンピュータビジョン勉強会@関東 11
  12. 12. リモート開発 -­‐インタプリタの設定-­‐ • リモートのPython  Interpreterを登録 • リモート上のVirtualEnvのインタプリタも指定可能 • sshのプライベートキーを設定 • 一度登録すれば別のプロジェクトでも設定が使え る • 実行するプログラムの設定で、リモートのイン タープリタを選択する • それ以外のデバッグ操作はローカルと同じ 第33回 コンピュータビジョン勉強会@関東 12 usr@server user Preference  -­‐>  Project  -­‐>  Project  Interpreter  -­‐>  Add  Remote Run  -­‐>  Edit  Configurations
  13. 13. リモート開発 -­‐Deployment-­‐ • ローカルとリモートのファイルを同期させる • Git経由でもよいが、一人で開発する場合だと同期の方が便利 (バージョン管理はリモートとの同期とは別に行う) • Deploymentの設定 Tools  -­‐>  Deployment  -­‐>  Configuration • FTP,  FTPS,  SFTPでローカル・リモート間のファイル転送ができる • Local(or  mounted  folder)も指定可能 • 設定画面でプロトコル、サーバのIPアドレス、対応するローカル・リモートのディレク トリパスを指定する • 同期方法 (上書き) • ローカルからリモート or  リモートからローカル • 自動同期 or  手動同期 第33回 コンピュータビジョン勉強会@関東 13
  14. 14. プロファイリング 第33回 コンピュータビジョン勉強会@関東 14 • プロファイル • ボタン一つでプロファイルをとることができる • 使われているのは cProfile or  yappi • Concurrency  Diagram • マルチスレッドの場合にボタン一つで各スレッドの状態を表示できる
  15. 15. まとめ • リモート実行・デバッグが行えると複数台マシンがあっても開発マシ ンを1台に集約できて便利 • PyCharmはデバッグが便利に行えて、かつリモートのマシンでもロー カルと同じように実行・デバッグが行える • PyCharmおすすめ! • 他に使いやすいPython用IDEがありましたら教えていただけると幸い です 第33回 コンピュータビジョン勉強会@関東 15

×