開発環境についてまとめてみる【python編】

あらまし

プログラミングを行う際の開発環境、最近では種類も様々です。
ふと他にはどのようなものがあるのか疑問に感じましたので、ここにまとめてみることにしました。
また、言語は普段から親しんでいるpythonに絞ってみました。

目的

  • 自分が使っているもの以外のツールについて理解を深める。
  • 今よりもっと他に記述できるツールはないか?併せて今のトレンドを探る。

大まかなカテゴリー

調べたところ大きく3つに分類できると感じました。

ローカル環境

自分のPCやサーバー上に直接Pythonをインストールして実行する環境です。

代表的なもの

PyCharm

Visual Studio Code

Jupyter Notebook / Jupyter Lab

Spyder

メリット

  • 柔軟性が良い
    →必要なライブラリやツールを自由にインストール・構築可能
  • ハードウェアパフォーマンス
    →ハードウェアリソースをフルに利用可能
  • オフラインでも実行可能
    →インターネット接続がなくても動作可能
  • 開発環境の優位性を活かせる
    →高度な開発環境(IDE)を使用できる

デメリット

ライブラリが肥大化しやすい

  • 環境依存がある
    ライブラリや依存関係の競合が起きやすい
  • 難易度が高い
    初心者にはセットアップが複雑
  • 汎用性
    別のPCやOSに移すのが手間

クラウド環境

クラウド上でPythonを実行する環境です。
セットアップが容易でインフラを管理する必要がありません。

代表的な環境

Google Colab
無料で利用可能なクラウドベースのJupyter Notebook。GPU/TPUも利用可能。

Kaggle Kernels
データ分析に特化したクラウド環境。Kaggleのデータセットを直接利用。

Amazon SageMaker
AWS上でPythonを用いて機械学習モデルを構築・実行。

Microsoft Azure Notebooks
PythonとJupyter Notebookをサポート。

Replit
ブラウザ上でコードを書いて実行できる環境。

Anaconda Cloud
Condaを利用した環境のクラウド版。

メリット

セットアップ不要: 簡単に始められる。

高性能リソース: GPUやTPUなどのリソースを利用可能。

コラボレーション: Google ColabやKaggleでは共同作業が容易。

スケーラビリティ: 必要に応じてリソースを拡張可能。

デメリット

インターネット依存: オフラインでは使用不可。

コスト: 無料枠を超えると課金が必要(例: AWS、Azure)。

データセキュリティ: クラウド上でのデータ漏洩リスク。

ブラウザベース環境

インストール不要で、ブラウザから直接Pythonを実行できます。

メリット

手軽さ: インストール不要ですぐに実行可能。

マルチデバイス対応: PCやスマホで利用可能。

共有性: BinderやGoogle Colabでは他者との共有が容易。

デメリット

インターネット依存: 接続がないと利用できない。

制約: 許可されたライブラリや機能に制限がある場合がある。

性能: ローカル環境と比べて速度が劣ることがある。

モバイル環境

スマートフォンやタブレットでPythonを実行することができる

Pydroid 3(Android)
Android上でPythonスクリプトを実行。

Pythonista(iOS)
iPhone/iPadでPythonスクリプトを実行可能。

Termux(Android)
Linux環境上でPythonを利用。

メリット

携帯性: スマホやタブレットでどこでも利用可能。

簡易な利用: 学習や小規模なスクリプト実行に便利。

デメリット

性能: PCに比べて処理速度が遅い。

機能制限: モバイル環境では使用できないライブラリがある。

入力の不便さ: モバイル端末ではコードを書くのが大変。

まとめ

 今回調べてみて、多機能で使えるツールが多くあることが分かった。無償で利用することのできるものも多くてとてもありがたい。
 私は普段Jupyter Notebookを使用している。例えばクラウド環境を用いることで、作業するPCや場所に縛られずに作業ができるかもしれない。
様々な働き方が求められる時代。最新技術だけでなく、その制作環境についても情報収集を怠らないよう心がけていきたいと思う。

コメント

タイトルとURLをコピーしました