見出し画像

Pythonを学ぶ人にオススメの開発環境

外出自粛の中、プログラミングを学んでワンランクアップ!と考えている方も少なくないと思います。
プログラミング初心者の方に是非ともオススメしたいのがPythonですが、その開発環境について、大きく分けて3パターン紹介したいと思います。

自分のパソコン(ローカル端末)で開発

最初はほとんどこちら以外選択肢がない、というより思いつきもしないと思います。(少なくとも私はそうでした)
WindowsでもMacでも、Python公式サイトからダウンロードしてすぐに使えます。ハードディスクの容量に余裕がある方は、色々な拡張機能が最初から入ったAnacondaをオススメします。

メリット
・とにかく簡単
・手軽にコードを書いて、手軽に実行できる

デメリット
・電源を落としたり、他の用途にリソースを割く事もあるので、自動化業務に向いていない
・スペックが低いパソコンの場合、出来る事が制限される

VPS・AWS・Azure・GCP(クラウド環境)で開発

コーディングに慣れて自動化する必要性が出てくると、クラウド環境が選択肢に入ってきます。さくらインターネットのVPSや、Amazon Web Service、MicrosoftのAzureやGoogle Cloud Platformでサーバーを立ち上げ、sshを使い遠隔ログインし自由に利用する事ができます。プログラムを定期的に自動実行させるだけでなく、WEBサイトを立ち上げる事も出来るので、最初の頃私は自分専用の部屋が割り当てられたような高揚感を感じました。

Linuxに苦手意識が高い方は、Jupyter Notebookというものを使い、自宅からブラウザでアクセスしてPythonを実行することもできます。

メリット
・LinuxやAWSなどの知識が付く
・自分の用途に合わせて、安価に運用できる
・ハイスペックなメモリが要求される作業も実行できる
・定期自動実行処理(cron)を設定できる

デメリット
・無料枠もあるが、従量課金が多いので費用をちゃんと把握し管理する必要がある
・sshを使い、自端末からクラウド端末を遠隔操作する方法を覚える必要がある
・必要な知識が多くハードルが高い

サーバーレス環境で開発 ←最もオススメ!

最後がサーバーレス環境での開発です。インターネット業界では、一昔前からローカルからクラウド化へと進化を遂げましたが、今は更にサーバーレスへと発展していて、仮想サーバーの管理すら必要ない時代になっています。

私が今回特にご紹介したいのは、Google Colaboratoryというサービス(基本無料)です。これにブラウザからログインすると、スクリプトをGoogle Driveに保存しながらいきなりPythonを使うことが出来ます。勿論外部ライブラリをインストールして機能拡張することも出来ますし、大量のメモリが割り当てられているので重い処理でもサクサク動きます。なんと、GPUが使えるので今流行りの機械学習やディープラーニングなども、グラフィックボードを購入することなく試すことができます。Jupyter notebookのサーバーレス版だと思うとわかりやすいと思います。

ただし、Colaboratoryでは一定時間操作を行わないと環境がリセットされてしまうので、定期自動実行を行いたい場合は不向きです。その場合、AWS LambdaやGoogleのCloud Functionsなどを利用しましょう。

メリット
・すぐ使える
・無料もしくはかなり安価
・ハイスペックな環境を、GoogleやAWSが用意してくれる
・Linuxの知識もほぼ不要

デメリット
・手軽さはローカル端末にはさすがに劣る

この記事が気に入ったらサポートをしてみませんか?