Python開発環境の構築 - Ubuntu
By JoeVu, at: 2023年5月2日22:35
Estimated Reading Time: __READING_TIME__ minutes


1. はじめに
Pythonは、Web開発、データ分析、人工知能など、さまざまな分野でアプリケーション開発に広く使用されている強力なプログラミング言語です。UbuntuでPython開発を行う場合、ニーズに合わせて調整されたローカル開発環境をセットアップすることが重要です。そうすることで、ローカル開発環境が提供する多くのメリットを活用できます。
まず、ローカル開発環境をセットアップすることで、PythonプロジェクトをシステムのPythonインストールから分離できます。つまり、異なるプロジェクトに対して異なるバージョンのPythonとPythonパッケージをインストールでき、競合を心配する必要がありません。さらに、ローカル開発環境では、プロジェクトの依存関係をより詳細に制御でき、それらの管理と更新を容易に行うことができます。
次に、ローカル開発環境は、使い慣れた快適なワークスペースを提供します。お気に入りのコードエディタを選択し、開発環境を自分の好みに合わせてカスタマイズし、好みのツールとユーティリティを使用してワークフローを効率化できます。
最後に、ローカル開発環境をセットアップすることで、オフラインで作業でき、リモートサーバーで作業する場合に発生する可能性のあるネットワークの問題を回避できます。つまり、インターネット接続がない場合でも、プロジェクトの作業を続けることができます。
この記事では、UbuntuでPythonの作業環境をセットアップする手順を説明します。Pythonのインストール、仮想環境のセットアップ、エディタの選択、iPythonのセットアップ、デバッグツールの使用について説明します。この記事の最後までに、ニーズに合わせて調整された完全に機能するPython作業環境が構築されます。
2. Pythonのインストール
Pythonは、Ubuntuシステムに既にインストールされている可能性がありますが、最新バージョンがインストールされていることを確認することをお勧めします。さらに、Python 2とPython 3の両方で作業する場合は、システムの両方にバージョンをインストールすることを検討してください。以下は、UbuntuにPython 2とPython 3をインストールする手順です。
Python 2のインストール
- ターミナルを開き、次のコマンドを実行します:
sudo apt-get install python2.7
- Python 2がインストールされていることを確認するには、次のコマンドを実行します:
python2.7 --version
Python 3のインストール
- ターミナルを開き、次のコマンドを実行します:
sudo apt-get install python3
- Python 3がインストールされていることを確認するには、次のコマンドを実行します:
python3 --version
システムにPython 2とPython 3の両方がインストールされたので、update-alternatives
コマンドを使用して簡単に管理できます。このコマンドを使用すると、システムのデフォルトのPythonバージョンを選択できます。Pythonインストールを管理する手順を以下に示します。
コマンドsudo update-alternatives --list python
を実行して、使用可能なPythonインストールの一覧を表示します(これにより、パスを含むインストールされたPythonバージョンのリストが出力されます)。
コマンドsudo update-alternatives --config python
を実行して、デフォルトのPythonバージョンを選択します(これにより、使用可能なPythonバージョンのリストが表示され、デフォルトバージョンを選択するように求められます)。
コマンドpython --version
を実行して、デフォルトのPythonバージョンを確認します(これにより、現在システムのデフォルトとして設定されているPythonのバージョンが出力されます)。
これらの手順に従うことで、Pythonインストールを簡単に管理し、プロジェクトに適切なバージョンを使用していることを確認できます。
異なるPythonバージョンの簡単な管理方法については、次のセクションで説明します。
3. 仮想環境のセットアップ
Pythonプロジェクトの仮想環境をセットアップすることは、異なるプロジェクトとその依存関係間の競合を回避するために不可欠です。仮想環境を使用すると、システム上のグローバルPythonインストールとは別に、プロジェクト固有の依存関係をインストールして管理できます。プロジェクトの仮想環境をセットアップする手順を以下に示します。
3.1 Virtualenv
virtualenvをインストールするには、ターミナルを開き、次のコマンドを実行します。
sudo apt-get install virtualenv
仮想環境の作成
プロジェクトディレクトリに移動し、次のコマンドを実行します:virtualenv venv
これにより、venvという名前のフォルダに新しい仮想環境が作成されます。
仮想環境の有効化
source venv/bin/activate
これで、システム上の他のプロジェクトやグローバルPythonインストールに影響を与えることなく、仮想環境内でpipを使用してプロジェクト固有の依存関係をインストールできます。ただし、異なるバージョンのPythonを切り替える必要がある場合は、pyenvやpyenv-virtualenvwrapperなどのツールを使用して、プロセスを容易にすることができます。
3.2 Pyenv
pyenvは、システム上で異なるバージョンのPythonを簡単にインストールして切り替えることができるツールです。pyenvをインストールして使用する手順を以下に示します。
pyenvのインストール
curl https://pyenv.run | bash
pyenvを使用したPythonバージョンのインストール
pyenv install --list # すべてのPythonバージョンのリスト表示
pyenv install [version] # インストールするPythonバージョンに変更します。例:3.11.0
pyenvを使用したPythonバージョンの切り替え
pyenv versions # すべてのバージョンの表示
pyenv global [version] # システムのデフォルトのグローバルPythonバージョンを設定します。
pyenv local [version] # 特定のプロジェクトのPythonバージョンを設定します。
4. エディタの選択
Pythonプロジェクトに適したコードエディタを選択することは、生産性と効率的な開発に不可欠です。Pythonで使用できる一般的なコードエディタとその長所と短所を以下に示します。
4.1 Visual Studio Code (VS Code)
- ダウンロードリンク:https://code.visualstudio.com/download
- 長所:軽量、カスタマイズ可能、優れたデバッグサポート、大規模なコミュニティ、拡張機能マーケットプレイス。
- 短所:一部の機能は設定や拡張機能が必要な場合があり、多くのリソースを消費する場合があります。
4.2 PyCharm
- ダウンロードリンク:https://www.jetbrains.com/pycharm/download/
- 長所:強力、使いやすい、優れたデバッグサポート、コード補完、リファクタリングツール。
- 短所:他のエディタよりも重く、速度が遅い場合があり、一部の機能には有料ライセンスが必要です。
4.3 Sublime Text
- ダウンロードリンク:https://www.sublimetext.com/download
- 長所:軽量、高速、カスタマイズ可能、多くのプラグインがあります。
- 短所:デバッグサポートが限定的であり、他のエディタほど機能が豊富ではありません。
4.4 Atom
- ダウンロードリンク:https://atom.io/
- 長所:オープンソース、カスタマイズ可能、大規模な開発者コミュニティ。
- 短所:デバッグサポートが限定的であり、高度な機能には設定や拡張機能が必要な場合があります。
ニーズと好みに最適なエディタを選択し、その機能とカスタマイズオプションを調べて、生産性を最大限に高めましょう。
上記のエディタに加えて、EmacsやVimなど、Python開発を優れたサポートする他の一般的なエディタもあります。最終的に、エディタの選択は、個人の好みとプロジェクトの要件によって異なります。
次のセクションでは、対話型のPython開発のためにiPythonをセットアップして使用する方法について説明します。
5. iPythonのセットアップ
iPythonは、Pythonの対話型シェルであり、デフォルトのPythonインタプリタよりもユーザーフレンドリーで効率的な方法でPythonコードを操作できます。iPythonを使用することの長所と短所を以下に示します。
長所:
- タブ補完、履歴、オブジェクトイントロスペクションなどの機能が強化された対話型シェル。
- コードスニペットのテストとAPIの探索が容易。
- iPythonシェルからシェルコマンドを直接実行する機能。
短所:
- デフォルトのPythonインタプリタと比較して、追加のセットアップが必要です。
- すべてのPython開発者にとって必要とは限りません。
iPythonをセットアップするには、まず、Pythonのパッケージインストーラであるpipを使用してインストールする必要があります。
pip install ipython
インストールしたら、ipython
と入力してターミナルからiPythonを起動できます。
iPythonをテストするには、次のコードスニペットを試すことができます。
x = 5
y = 7
x + y
出力は次のようになります。
12
これにより、xとyの合計が計算され、結果が出力プロンプトに表示されます。
標準のiPythonシェルに加えて、Jupyter NotebookやJupyterLabなど、iPythonの機能を拡張する他のツールも使用できます。これらのツールを使用すると、コード、ドキュメント、視覚化を組み合わせた対話型のノートブックを作成できるため、データ分析やデータサイエンスに最適なツールとなります。
Jupyter Notebookをインストールするには、pipを使用できます。
pip install jupyter
インストールしたら、jupyter notebook
と入力してターミナルからJupyter Notebookを起動できます。
JupyterLabをインストールするには、pipを使用することもできます。
pip install jupyterlab
インストールしたら、jupyter lab
と入力してターミナルからJupyterLabを起動できます。
全体として、iPythonとその関連ツールは、Python開発のための強力で多用途なツールであり、Pythonコードを使用する場合の生産性と効率を大幅に向上させることができます。
次のセクションでは、デバッグツールを使用してPythonコードのバグを特定して修正する方法について説明します。
6. デバッグツールの使用
デバッグは、ソフトウェア開発者にとって不可欠なスキルであり、Pythonはコードのバグを特定して修正するのに役立ついくつかのデバッグツールを提供しています。Pythonで最も人気のあるデバッグツールの1つは、pdb
(Python Debugger)です。
pdbを使用すると、コードを1行ずつステップ実行し、ブレークポイントを設定し、変数を検査して、コードの実行方法を理解し、発生する可能性のあるエラーを特定できます。
pdb
を使用するには、まずPythonコードにインポートする必要があります。
import pdb
次に、pdb.set_trace()
関数を使用してコードにブレークポイントを設定できます。
def my_function(x, y):
z = x + y
pdb.set_trace()
return z
result = my_function(2, 3)
print(result)
コードがpdb.set_trace()
行に到達すると、実行が一時停止し、pdbデバッガにドロップされ、そこで変数を検査し、コードをステップ実行し、Pythonインタプリタと対話できます。
Python 3.7以降では、コードにブレークポイントを設定するより簡単な方法を提供する新しいbreakpoint()
関数が導入されました。pdb.set_trace()
を使用する代わりに、コードの実行を一時停止する必要がある任意の箇所にbreakpoint()
関数を呼び出すだけです。
使用できる基本的なpdbコマンドを以下に示します。
- n:現在の行を実行し、次の行に移動します。
- s:関数呼び出しにステップインします。
- r:現在の関数の最後まで実行を続けます。
- c:次のブレークポイントに遭遇するまで実行を続けます。
- p:変数の値を出力します。
- q:デバッガを終了し、プログラムを終了します。
pdb
は強力なツールですが、慣れるまで時間がかかる場合があります。しかし、練習すれば、Pythonコードのバグを迅速に特定して修正できるようになります。
pdbに加えて、ipdb(iPython Debugger)やpycharm(組み込みのデバッグツールを備えた統合開発環境)など、Pythonで使用できる他のデバッグツールもあります。
7. まとめ
結論として、UbuntuでPythonの作業環境をセットアップすることで、Python開発エクスペリエンスを大幅に向上させることができます。Pythonをインストールし、仮想環境をセットアップし、エディタを選択し、iPythonをセットアップし、デバッグツールを使用することで、Pythonコードの記述を開始し、発生する可能性のある問題をデバッグするために必要なものがすべて揃います。