リファクタリングをPythonで実践!基本手法とコード例・注意点まで
- 1.そもそも総合開発環境(IDE)とは?
- 2.Pythonの開発環境を構築する方法
- 3.おすすめの開発環境
- 4.おすすめのディストリビューション
- 5.おすすめのクラウド環境
- 6.PyCharmをインストールしてみよう
- 7.Anacondaをインストールしてみよう
- 8.Google Colaboratoryを使ってみよう
- 9.Pythonの環境構築時によくあるトラブルと対処法
1.そもそも総合開発環境(IDE)とは?
総合開発環境(IDE:Integrated Development Environment)は、開発者の生産性を最大化されるように設計されたプログラミング用のソフトウェアになります。
開発元や提供元サイトからソフトウェアをダウンロード&インストールして、主にパソコン上で使用。無償で利用できるものから有償プランを含むものに分かれます。
総合開発環境は、PythonやPHP、Javaなどのプログラミング言語に特化したものから、多言語に対応したものまで様々あり、Pythonにあたっては20種類以上の総合開発環境が提供されています。
総合開発環境を使用すれば、Pythonの関数を自動で補完してくれたり、予め設定した変数の候補を自動で表示してくれたりと、プログラミングがはかどります。
またカッコやコンマなどの入力ミスも自動で表示され、サーバーやデータベースと接続してWebアプリケーションのプログラムも直接編集が可能です。
2.Pythonの開発環境を構築する手法
Pythonの開発環境を構築する方法は、総合開発環境をインストールする以外にもいくつかあります。主だった3つの方法をご紹介させて頂きます。
①IDEをインストールする
Webアプリケーションなどを開発する際は、IDEがおすすめです。サーバーサイドの処理をPythonで書き、フロント部分をHTMLやCSSなど書く、これらに関係するプログラミング言語の補完機能が備わっているか、プラグインなどで追加可能です。
Python本体はIDEに付属されていない場合が多く、IDEとは別にPythonをインストールする必要があります。
②ディストリビューションをインストールする
ディストリビューションはIDEをはじめ関連するライブラリなども含むプラットフォームです。Web以外にもデータ分析やAI処理などを目的に、Pythonを扱う場合はディストリビューションがおすすめです。
ディストリビューションをインストールすればPythonやIDEも一緒にインストールされるため、用途に応じた実行環境を直ぐに起動できます。Pythonのプログラム処理でよく用いられるpandasやnumpyなどのライブラリも標準でセット済みです。
ただし、Pythonのライブラリはpipではなく、基本的にcondaで扱うようになりますので、PyPiに公開されているライブラリより数は少なく1,650種類ほどです。
またディストリビューションのAnacondaをインストールした場合は、2GBほどディスクスペースを消費しますので、予めインストール先の環境確認が必要になります。
③クラウドを使う
スクラッチ的にPythonを書いてテストしたい方には、クラウドの開発環境がおすすめです。
パソコンにPythonの実行環境がなくても、ブラウザ上でコードを書き、実行できます。Google Colaboratoryについては300種類以上のライブラリがインストール済みで、さらに個別に追加することもできお勧めです。またGoogleドライブにも簡単に接続できますので、ファイルの読み込み・書き込みも比較的スムーズに行えるでしょう。
ただし、12時間、24時間以上続くプログラム処理はできないなど、いくつか使用条件は発生します。
3.おすすめの開発環境
Python学習者、Pythonプログラマーでよく使用される開発環境についてご紹介します。
①PyCharm
https://www.jetbrains.com/pycharm/
PyCharmは、チェコのJetBrains社が2010年から提供しているPython用のIDEです。有料版(Professional Edition)と無料版(Community版)があり、有料版は年間22,900円からになります。
PyCharmの特徴は、プログラムのデバッグ機能が充実している点、チームでの開発(有償版)に適している点などです。
デバッグ機能については、エラー部分のハイライト、プログラムの部分実行、プログラムの部分結果の参照など便利な機能が多数備わっています。
デメリットとしては、PyCharm特有の仮想環境の扱い方や操作画面になれる必要がある点です。Pythonがパソコン上に未インストールの場合は、PyCharmインストール後にPythonのインストール・ガイドが表示されます。
対応OS: Windows、OSX、Linux
②Atom
Atomはテキストエディタの一種になりますが、専用パッケージを加えることでIDE化します。エディタ内にコマンド操作画面を表示できたり、サーバーとSSH接続できたりしますので、お好みのIDEとしてセットアップすることが可能です。
PyCharmなど本格的なIDEに比べるとソフトウェア自体が軽量で、パソコンのスペックに不安を感じる方にはおすすめでしょう。
デメリットとしてはPyCharmにはある「プログラムの途中停止」や「重複コードの検出」などリッチな機能は装備できなく、またプログラムの実行もコマンド上に入力して実行する必要があります。
対応OS: Windows、OSX、Linux
③Eclipse
JavaのIDEとして有名なEclipseも、PythonのIDEとして使用可能です。
EclipseでPythonを実行する場合は「AdoptOpenJDK」と「PyDev」、「Python」を別途インストールする必要があります。
ただEclipse自体はPHPやRubyなどの言語にも対応できますので、Python以外も扱えるようになりたいと思われる方は見逃せない開発環境です。
Eclipseの特徴は、PyCharmのようなリッチなデバッグ機能があり、開発を手伝ってくれる点です。
対応OS: Windows、OSX、Linux
④Visual Studio
https://visualstudio.microsoft.com/
Microsoft社から提供されているVisual Studioは、Python以外にも.NETやUnity、Node.jsなど近年開発需要が高い分野をカバーしています。
Windowsユーザーにとっては見慣れた操作画面で比較的早くなじめるでしょう。
Visual StudioでPythonを使用するためには別途Pythonのインストールが必要。またインストール後はパソコンの再起動が必要です。
一見するとFlaskやDjangoなどのフレームワークもボタン一つで使用でき便利そうですが、古いバージョンのセットとなりますので、ご注意ください。Djangoについては、3系が最新ですが、2系がセットアップされます。
対応OS: Windows(Visual Studio 2022)、OSX(Visual Studio 2019)
⑤Visual Studio Code(VScode)
https://code.visualstudio.com/
テキストエディタの1つであるVisual Studio Codeも、拡張機能を追加することでPython用IDEとして使用することができます。
Atom同様PyCharmなどのIDEに比べると機動が軽く、コードの補完やエラー・ハイライトも十分です。
筆者は5年ほど使用しており、開発時にはよく使うIDEになります。注意点としては、拡張機能を入れすぎると各拡張機能のアップデートが手間になりますのでご注意ください。
対応OS: Windows、OSX、Linux
⑥PyScripter
https://github.com/pyscripter/pyscripter
PyScripterは、オープンソース型IDEでMITライセンスの元、Windows用として公開されています。
ファースト画面はPyCharmのようなIDEらしい機能表示ですが、PyCharmやVisual Studioほど複雑な機能はなく、シンプルで使いやすいデザインとなっています。
ただし、サイドバーに表示される各フォルダ、内部に画像やCSVファイルがあってもデフォルト設定では読み込んでくれなく、フォルダからファイルをドラッグ&ドロップしてもIDE内には取り込まれません。
対応OS: Windows
⑦Sublime Text
Sublime Textは、AtomやVisual Studio Codeと同じテキストエディタになり、こちらもプラグインを追加することでIDEのような環境を整えることが可能です。
フォントデザインや色目も斬新で、エンジニアの中でも人気のあるテキストエディタです。ただし、AtomやVisual Studio Codeと違い、継続利用するためには99ドルのライセンスを購入する必要があります。
対応OS: Windows、OSX、Linux
4.おすすめのディストリビューション
IDEはプログラムを書いたり実行したりする環境を整えてくれるソフトウェアになります。ディストリビューションは、Pythonや関連するライブラリ、IDEも含むソフトウェアになり、Pythonを包括的に管理・実行できます。
①Anaconda
Pythonのディストリビューションの代名詞ともいえるAnaconda。
Anacondaをインストールすれば以下のソフトウェアも使用可能になります。
・Visual Studio Code
・PyCharm
・IBM Watson Studio Cloud(別途登録手続き必要)
・Jupyter Notebook
・Rstudio
ほか7種類
個別にソフトウェアをインストールしなくてもAnacondaで一括管理できるので便利です。
ただし、Anacondaの上でPythonが動きますので、パソコンからPowerShellを起動した場合はPythonを使えませんが、AnacondaからPowerShell起動した場合はPython使えるという少し複雑なシステム構成になります。また仮想環境もPython標準モジュールのvenvではなく、condaで管理するようになります。
5.おすすめのクラウド環境
ここまでご紹介したIDEとディストリビューションは、パソコンにソフトウェアをインストールする必要がありました。クラウド環境を利用すれば、端末環境に左右されずPythonを実行できます。
①Google Colaboratory
https://colab.research.google.com/
Pythonをクラウド上で実行する定番の環境がGoogle Colaboratoryでしょう。作成したプログラムはGoogle Drive上に保存でき、他の人と共有することもできます。
Jupyter Notebookのようにブロック単位でプログラムを作成・実行でき、クラスや関数をあまり使わないPython初学者におすすめです。
標準でpandasやnumpy、Google関係のAPIライブラリもセットされていますので、直ぐにコードを作成・実行できます。
基本的にはプログラムの実行のみになりますので、Google Colaboratoryでプログラムを開発し、Webアプリケーションの処理を実行させることなどはできません。また利用にはGoogleアカウントが必要となります。
②Cloud9
https://aws.amazon.com/jp/cloud9/
Cloud9 は、AWS(Amazon Web Services)内のサービスの1つで、クラウド上でWebアプリケーションなどを作成していくことができるIDEです。
PyCharmやVisual Studioのような編集画面をブラウザ上で表示し、プログラムを作成していくイメージでしょうか。クラウド管理になりますので、チームで開発中のプログラムを共有し、複数人で開発することも可能です。
最終的なWebへのリリースは、AWSのサーバーレス環境を使って公開できます。
Cloud9の利用は、AWSのコンピューターを利用する必要があり、月90時間コンピューターを動かし、10GBの容量を確保すると月2.05米ドル必要になります。
またAWSアカウントを作成して直ぐには利用できない場合がありますので、予めご注意ください。
③Microsoft Azure Jupyter Notebook
Azureを使って組織管理を行っている場合は、こちらのMicrosoft Azure Jupyter Notebookもお勧めです。
Azure上でPythonを実行でき、組織で管理するデータを分析したり、人工知能にラーニングさせられます。
こちらの環境を実行するためには、Azureのアカウント以外に「ワークスペースの作成」や「コンピューターの起動」などいくつかの初期設定が必要となります。
④Kaggle
データサイエンティストを志す方におすすめのクラウド環境がKaggleです。プログラムの実行環境としてはGoogle Colaboratoryに似ていますが、Kaggleは長時間かかる処理もKaggleのサーバー上で実行し続けることが可能です。
またGoogle ColaboratoryはCSVなどのデータを管理しにくいですが、KaggleはデータセットとしてKaggle内に保存できます。
実行環境以外にも、世界中のPythonプログラマーの知見を拝見できますので、知っておいて損はないと思います。
6.PyCharmをインストールしてみよう
デスクトップIDEのPyCharmをWindowsにインストールする方法をご紹介します。まずはPyCharm公式ページ(https://www.jetbrains.com/pycharm/)にアクセスしましょう。
事前にPythonをインストールしていない場合でも、PyCharmのインストール後に設定できます。
画面中央の「DOWNLOAD」ボタンをクリック。
無料版のCommunityの方をDownloadします。
ダウンロードした「pycharm-community-2021.2.3.exe」をダブルクリックすると上図のようなインストーラーが起動します。順番にNEXTボタンを押します。
こちらはインストール先の設定です。デフォルト値で問題ないでしょう。
こちらはオプション項目で、以下の内容になります。
左上:デスクトップにショートカットの作成
左中:Pythonファイルを右クリックした際にPyCharmを表示するかどうか
左下:Pythonファイルをダブルクリックした際、PyCharmで開くかどうか
右:PythonへのPATHを通すかどうか(要再起動)
こちらは画面左下のWindowsマークをクリックした際の表示文字の設定。JetBrainsからPyCharmなど任意の値を入力します。
インストールが完了しました。
メニューを確認し、PyCharmをクリックします。
PyCharmを起動できました。
画面上にはIDE特有の機能がたくさんありますので、少しずつ慣れていきましょう。
7.Anacondaをインストールしてみよう
ディストリビューションのAnacondaをWindowsにインストールする方法をご紹介します。
Anacondaの公式ページ(https://www.anaconda.com/)にアクセスします。
画面中央の「Get Started」をクリック。
メニュー一番下の「Download Anaconda installers」をクリック。
今回はWindowsにインストールしますのでWindows項目のインストール先のBitにあったものをダウンロードします。
ダウンロードボタンをクリックすると上図のような画面が開きます。
こちらはAnacondaコミュニティーのアカウント作成で、必要に応じて利用しましょう。
ダウンロードした「Anaconda3-2021.05-Windows-x86_64.exe」をダブルクリックすると上図のようなインストーラーが起動します。順番に「Next」を押していきます。
利用規約への同意です。
インストール先のWindowsアカウントすべてに対して利用できるようにするかどうかの設定です。
自分だけ利用する場合は、「Just Me」を選択します。
インストール先です。デフォルトのままをお勧めします。
この項目は、Pythonのパスに関するもので重要です。既にPython3.9などを利用している場合、上図のような下側を選ぶとPyCharmやVisual StudioでPython3.9からPython3.8になります。
しかし、上側の項目はおすすめしない、と書かれています。今までのPython環境を優先するか、Anacondaを優先するか一度よく考えましょう。
Pythonがない場合は上図(下側)の選択をお勧めします。
インストールが完了するとメニュー内にいくつかの項目が新規で表示されます。
Anaconda本体をクリックします。
Anacondaの中のソフトを確認することができます。
一通り起動して様子を確認しておきましょう。
8.Google Colaboratoryを使ってみよう
Google Colaboratoryの使い方は簡単です。サンプル・プログラムを実行する方法をご紹介します。今回は、TensorFlowのチュートリアルで紹介されている「動きを検出するシステム」を実行してみましょう。
まずはTensorFlowのチュートリアル・サイトにアクセスします。
https://www.tensorflow.org/hub/tutorials/movenet
「Google Colabで実行」をクリックします。
メニューバーの「ランタイム」をクリックし、「すべてのセルを実行」。
あとはプログラム処理が進み、最初は動きを検出していなかった女性の画像が、最後には動きを検出できていることが分かります。
このプログラムをベースに、画像を差し替えてみたり、動きの座標をとってみたりするとPythonや人工知能のおもしろみを実感できるでしょう。
9.Pythonの環境構築時によくあるトラブルと対処法
Pythonの環境構築は、学習前の準備段階。ここでつまずくと学習へのモチベーションが下がってしまいますので、要注意です。
①Pythonが動かない
PyCharmなどのIDEをインストールしても、Pythonが実行できない場合があります。よくある原因としては、IDEとパソコンのPythonを正しく接続できていない場合です。
設定が難しいようであれば、一度Pythonをアンインストールして、Anacondaなどを利用することをお勧めします。
②実行環境がわからなくなる
例えば、Microsoft StoreからPythonをインストールし、あとでAnacondaもインストールするような場合です。
標準のPythonを使用するときは仮想環境の実行に env\Scripts\activate.bat を利用し、Anacondaの場合は conda activate myenv を実行します。同じ仮想環境の立ち上げでも、実行環境が異なるとそれぞれの操作を覚える必要があります。
特にAnacondaの仮想環境は名前(例:myenv)で管理しますので、どの仮想環境がAI用だったか、データ分析用だったか分かりにくくなることも。一通り開発環境を試し、開発目的にあったものをできるだけ絞ることをお勧めします。