Djangoではじめる
PyCharm入門
PyCon Kyushu 2018
Kashun Yoshida 2018-06-30
Who am I? / お前誰よ?
● @kashew_nuts
● BeProud Inc.
● Software Developer
● Python, Vim, PyCharm
● Django Girls Tutorial
● Django Documentation
● vimdoc-ja
What's BeProud?
● 東京に本拠を置くPythonエンジニアリング会社
● Webサービス:
○ Connpass: エンジニアをつなぐ IT勉強会支援プラットフォーム
○ PyQ: Python学習用のオンラインプラットフォーム
● フルリモートワーキング (5days/week)
書籍が出版されました
● Pythonプロフェッショナルプロ
グラミング 第3版
● 6/12発売
● Git/GitHub対応
● CIがJenkins→CircleCIに
● 機械学習プロジェクト対応
発表の動機/目的
● 「PyCharmどうですか?」と漠然と聞かれることがあった。
● 実際仕事でPyCharmを使っているが, PyCharmの使い方, 利
用してるライブラリー, 周辺環境など色々なトピックがあった。
● その中でPyCharmを使うと便利な点をまとめてみたいなと
思った次第です。
対象
● PyCharmを使ってみたいが, どうやって使っていったらいいか
わからない人
● 普段からPyCharmを使っているが, もっと使いこなしたい人
● 他に使い慣れているツールがあるが, PyCharmもおさえてお
きたい人
今日の目標
● PyCharm完全にマスターした
前提とする環境
● サンプルコードはすべてPython3.6, Django2.0
● 利用バージョン: PyCharm Professional 2018.1
● 題材: Django Girls Tutorial
● リポジトリ:
https://github.com/kashewnuts/djangogirlstutorial
目次
● PyCharm概要
● PyCharmがサポートしていること
● 実際にPyCharmを使っていての感想
● PyCharmが向いていないこと
● 基本機能
● Djangoサポート
● フロントエンドサポート
● データベースサポート
● リモート開発
● テスト実行
● PyCharmを使うとき注意すべきこと
引用: https://www.jetbrains.com/pycharm/
What's PyCharm ?
● https://www.jetbrains.com/pycharm/
● チェコのJetBrains社が作成するPython統合開発環境
○ ~Python IDE for Professional Developers~
● 無償のCommunity版と有償のProfessional版がある
○ Community版は機能制限あり
○ サポートしてる機能の違いは PyCharm Editions Comparison に まと
められてる
インストール要件
● ハードウェア条件
○ 最小4 GB RAM, 8 GB RAMを推奨
○ 1.5 GBのハードディスク空き容量+キャッシュ用に少なくと
も1 GB
○ 1024x768の最小画面解像度
● ソフトウェア要件
○ OS: Windows, macOS, Linuxに対応
○ Python: 2.4以降, Jython, PyPy, IronPython
PyCharmができること
● Intelligent Python Assistance
● Webアプリケーション開発
○ (Django, Flask, Pyramid, JavaScript, ...)
● 科学技術系ツール (Jupyter, Numpy, matplotlib, ...)
● デバッグ, テスト, プロファイリング
● VCS連携 (Git, Mercurial, SVN)
● デプロイ, リモート開発 (Vagrant, Docker)
● データベースツール (MySQL, PostgreSQL, Oracle, AWS, …)
PyCharmに対しての感想
● 他のツールを探しにいく必要がなくなった
● PythonもDjangoもよく知っているIDE
○ Python本体、Djangoのurls, views, models, templates, etc…
● コード補完と解析、インクリメンタルサーチが賢い
● Python事情への追従が速い: Python3.7, Django2.0
● Webアプリケーション開発をするにあたり必要なものが揃っていて必要なときに使
いやすい (Database&SQL, VCS, Remote Development)
● デバッガーが優秀:
○ Django runserverしながらCeleryのデバッグができたり , pytestをステップ実行できたり , JavaScript
とPythonの両方でデバッグできたりして至極便利
● Gitのブランチ操作がサクサク動くし, コンフリクトの解消もしやすい
● 困ったときはSearchEverywhereやFind in Actionで調べれば大抵のことは解決
PyCharmが向いていないこと
● プラグインの作成(Javaで書く必要がある)
● 単一ファイルの編集するエディタ代わりの使い方
DEMO
PyCharmの基本機能
● Pythonのシンタックスハイライト, コード補完, 定義ジャンプ対
応
● Python2/3対応
● virtualenvサポート
● GUIのパッケージマネージャー
● リファクタリング, デバッガ, コードインスペクション
● VCS連携
● Terminalサポート
PyCharmのDjangoサポート
● 専用のプロジェクトタイプ
● manage.pyユーティリティの実行
● Django用に強化されたコード補完, 定義ジャンプ, デバッグの
連携
○ UrlConf, View, Model, Templates, Forms
● Model用の依存関係図作成
フロントエンド
● 同社のWebStrom (Front-end用IDE) 相当を同梱
● HTML, CSS, JavaScriptのコード補完, 定義ジャンプ, コード
解析
● JavaScriptのFramework対応
○ Angular, React, Vue.js, and more
● CSS Framework対応
○ SASS, SCSS, Less, and more.
データベース
● 同社のDataGrip (DataBase & SQL用ツール) 相当を同梱
● DataBase & SQLサポート
○ SQLの作成と実行, コード補完, リファクタリング
● SQLAlchemy対応
● CSV/JSON/XML出力対応
● 対応するDataBase
○ Amazon Aurora, Amazon Redshift, MariaDB, MySQL, Oracle,
PostgreSQL, SQL Server, SQLite3, and more.
リモート開発
● VagrantやDocker, Docker Composeサポート
○ 起動, 終了, リロード
○ Remote Interpretersの指定, Remote Debug
● SSH Remote
○ Vagrantfileを使ったSSH
○ WSLの実行やデバッグ
○ SSHやSSLを使用したリモート接続
● コードデプロイ (SFTP)
テスト実行
● unittest, pytest, nose, doctest, toxをサポート
● テスト対象を指定して実行できる
○ 失敗したテスト
○ 指定したクラス配下のテスト
○ 指定した関数のテスト
● Coverageの表示
フルスタックWebアプリケーション開発
引用: https://www.jetbrains.com/pycharm/features/web_development.html
PyCharmを使うとき注意すべきこと
● トリッキーな使い方をするとハマる
● 予期せぬ出来事にであったときは何が問題なのか切り分ける
○ PyCharm側の問題?関連するツールの問題?(Python, MySQL,
Vagrant, Docker, SSH...)
● PyCharmのバグを踏んだときはがんばり過ぎない
○ なんか今日は機嫌悪いな?と思ったらInvalidate Caches/Restart
○ Stop&Startで直ることも。再インストールは最終手段。
○ 不具合は報告すると比較的すぐに対応してくれるので, Issueトラッカー
に登録or見つけたらVote
リファレンス
● PyCharmの使い方 - 公式ヘルプ | PyCharm (ja / en)
● Pythonエンジニア ファーストブック
● IntelliJ IDEAハンズオン 基本操作からプロジェクト管理までマ
スター
● Android Studio本格活用バイブル
ご清聴ありがとうございました

More Related Content

PDF
Javascriptを書きたくないヒ トのためのPythonScript
PDF
次世代言語 Python による PyPy を使った次世代の処理系開発
PDF
Goji とレイヤ化アーキテクチャ
PPTX
ググリワードを探す話
PDF
「プログラミングGroovy」入門(公開用)
PDF
【社内勉強会】弊社でGit!実案件での運用
PDF
簡単!Groovy入門
PPTX
ウェブエンジニアとしての1年目を振り返って
Javascriptを書きたくないヒ トのためのPythonScript
次世代言語 Python による PyPy を使った次世代の処理系開発
Goji とレイヤ化アーキテクチャ
ググリワードを探す話
「プログラミングGroovy」入門(公開用)
【社内勉強会】弊社でGit!実案件での運用
簡単!Groovy入門
ウェブエンジニアとしての1年目を振り返って

What's hot (20)

PPTX
Bottle使ってPython学習一緒にはじめませんか?
PDF
Gitはじめの一歩
PDF
10分でわかるPythonの開発環境
PDF
Pyconjp2016 pyftplib
PDF
ノンプログラマでも今日から使える「Git」でバージョン管理
KEY
Windowsにpythonをインストールしてみよう
PDF
Python入門 コードリーディング - PyConJP2016
PDF
スクレイピングとPython
PDF
はじめてのGit #gitkyoto
PDF
PyCon JP 2016 ビギナーセッション
PDF
20160128 jjug Nightセミナー_Git実践入門
PDF
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
PDF
SourceTreeで始めよう! Gitへの乗り換え指南
PDF
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
PPTX
210630 python
PDF
Python札幌 2012/06/17
PPTX
勉強会 Cvml python基礎
PDF
20120915 Pythonは本当にBlenderの役に立っているか?
PDF
サードパーティパッケージの歩き方
PDF
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Bottle使ってPython学習一緒にはじめませんか?
Gitはじめの一歩
10分でわかるPythonの開発環境
Pyconjp2016 pyftplib
ノンプログラマでも今日から使える「Git」でバージョン管理
Windowsにpythonをインストールしてみよう
Python入門 コードリーディング - PyConJP2016
スクレイピングとPython
はじめてのGit #gitkyoto
PyCon JP 2016 ビギナーセッション
20160128 jjug Nightセミナー_Git実践入門
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
SourceTreeで始めよう! Gitへの乗り換え指南
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
210630 python
Python札幌 2012/06/17
勉強会 Cvml python基礎
20120915 Pythonは本当にBlenderの役に立っているか?
サードパーティパッケージの歩き方
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Ad

Similar to Django で始める PyCharm 入門 (20)

PPTX
Python札幌201406
PDF
Djangoのススメ
PDF
使えるDjango1.4
PDF
Introduction Pycon2010
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PDF
Djangoとweb2pyをapacheに組込む
PDF
"Continuous Publication" with Python: Another Approach
PDF
PDF
Pythonを取り巻く開発環境 #pyconjp
PDF
Webフレームワークパネル(Django) at PyConJP 2012
PPTX
Pythonの会社を
9年間経営してきて分かったこと
PDF
Djangoフレームワークの紹介
KEY
How to django at first
PDF
Useful Django 1.4
PPT
Python languageupdate (2004)
PDF
Python & PyConJP 2014 Report
PPTX
2017/12/21 虎の穴 Python勉強会
PDF
S03 t1 python_learningdiary#3
PDF
Pythonの開発環境を調べてみた
PDF
PyPy 紹介
Python札幌201406
Djangoのススメ
使えるDjango1.4
Introduction Pycon2010
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Djangoとweb2pyをapacheに組込む
"Continuous Publication" with Python: Another Approach
Pythonを取り巻く開発環境 #pyconjp
Webフレームワークパネル(Django) at PyConJP 2012
Pythonの会社を
9年間経営してきて分かったこと
Djangoフレームワークの紹介
How to django at first
Useful Django 1.4
Python languageupdate (2004)
Python & PyConJP 2014 Report
2017/12/21 虎の穴 Python勉強会
S03 t1 python_learningdiary#3
Pythonの開発環境を調べてみた
PyPy 紹介
Ad

Django で始める PyCharm 入門