ChatGTP スキルアップ プログラミング学習

【プログラミング】ChatGPT活用!Pythonプロジェクトの仮想環境設定

記事内に商品プロモーションを含む場合があります

前回は、Pythonを使ってシンプルなプロジェクトに取り組みました。
【プログラミング】ChatGPTで深めるPython実践プロジェクトでは、基礎を学びながら楽しく進められたと思います。、そして、次回は少し複雑なプロジェクトを進めていこうと思っております。次回はさらに一歩進んで、少し複雑なプロジェクトに挑戦しますが、その前に必要な環境設定を行う必要があります。今回は、スムーズに開発を進めるために、Pythonで仮想環境を設定する方法をやっていきます。これにより、ライブラリの管理や依存関係のトラブルを避け、効率的にプロジェクトを進められるようになるので、参考にしてみてください!!

Pythonの始め方についてはこちらの記事を参考にしてみてください!!

ブログ内のコードはコピーして使用できます

仮想環境って何?

仮想環境(バーチャルエンバイロンメント)は、コンピュータの中に「プライベートな部屋」を作るようなものです。この「部屋」は、他の部屋(他のプロジェクトやアプリケーション)と完全に分けられています。これにより、部屋の中で何をしても、他の部屋には影響を与えません。

例えば、Pythonのプロジェクトを2つ持っているとします。1つはゲームを作るプロジェクトで、もう1つはウェブサイトを作るプロジェクトです。それぞれのプロジェクトでは異なるツールやライブラリを使いたいかもしれません。仮想環境を使うと、それぞれのプロジェクトに専用の「部屋」を作ることができるので、ゲームのためのツールやライブラリがウェブサイトのプロジェクトに影響を与えないようにできます。

どうして仮想環境を使うの?

仮想環境を使う理由は主に2つです:

  1. 依存関係の管理: プロジェクトごとに異なるバージョンのツールやライブラリを使いたい時、それぞれのプロジェクトに専用の「部屋」を作ることで問題が起きにくくなります。
  2. クリーンな環境: システム全体にライブラリをインストールするのではなく、プロジェクトごとにクリーンな環境を保てます。

プロジェクトフォルダの作成(仮想環境を使う下準備)

Pythonで新しいプロジェクトを進めいて行くために必要な準備をしていきましょう!!

プロジェクトフォルダを作る理由

新しいPythonプロジェクトを始めるとき、特定のフォルダを作って、その中にすべての関連ファイルを保存する理由や、ホームディレクトリ(自分のフォルダ)にプロジェクトフォルダを作るといい理由が以下の内容になります。

  • 整理と管理が簡単になる:
    • プロジェクトごとにフォルダを作ると、コードやファイルがひとまとめに整理され、作業がスムーズになる。
    • 別のプロジェクトのソフトやライブラリと混ざらず、安心して作業できる。
  • 依存関係を独立させる:
    • 仮想環境を使うと、プロジェクトごとに専用のPython環境を作れ、他のプロジェクトに影響を与えない。
    • 専用フォルダがあると、仮想環境の管理が簡単になる。
  • システムファイルと混ざらない:
    • プロジェクトのファイルがパソコンの重要なファイルと混ざらないようにすることで、システムのトラブルを防げる。
    • 自分のフォルダにプロジェクトフォルダを作ると、安心して作業に集中できる。
  • バージョン管理と共有が簡単:
    • 特定のフォルダにプロジェクトをまとめると、Gitでコードの変更を記録しやすくなり、他の人と作業しやすくなる。
    • プロジェクトを他のパソコンに移したり、共有したりする際も、フォルダごとコピーするだけで簡単。
  • 開発環境がいつでも同じ:
    • プロジェクトごとにフォルダを作ると、必要なソフトや設定をいつでも同じ状態で使える。
    • 時間が経っても、同じ環境で作業を再開できるので便利。

プロジェクトファイルの構成例

ダダ
ダダ

プロジェクトファイルの作り方を教えて

ChatGPT
ChatGPT

プロジェクトディレクトリの作成:

  • 新しいPythonプロジェクトを開始する際には、特定のディレクトリを作成し、その中にすべての関連ファイルを保存するのが一般的です。
  • 例: C:\Users\YourUsername\Projects\MyPythonProject または ~/Projects/MyPythonProject

ホームディレクトリを使用:

  • 一般的に、ユーザーのホームディレクトリ内にプロジェクトフォルダを作成するのが推奨されます。これにより、他のシステムファイルと混ざることなく、アクセスが容易になります。
  • 例: C:\Users\YourUsername\PythonProjects または ~/PythonProjects

バージョン管理システム(例: Git)を利用:

  • プロジェクトのバージョン管理を行う場合は、GitHubやBitbucketなどのリモートリポジトリサービスを利用し、ローカルディレクトリと連携させると便利です。
  • 例: C:\Users\YourUsername\GitHub\MyPythonProject または ~/GitHub/MyPythonProject

仮想環境の設定:

  • 各プロジェクトごとに仮想環境を設定することで、依存関係の管理がしやすくなります。仮想環境のディレクトリはプロジェクトフォルダ内に配置するのが一般的です。
  • 例: C:\Users\YourUsername\PythonProjects\MyPythonProject\venv または ~/PythonProjects/MyPythonProject/venv

ディレクトリの構造例

以下は一般的なPythonプロジェクトのディレクトリ構造の例です。

実際の手順

プロジェクトディレクトリの作成

プロジェクトディレクトリへの移動

仮想環境の作成

まずは、プロジェクトごとに仮想環境という「部屋」を作ります。

ここで2つある内の後ろにあるvenvは仮想環境の名前です。何でも好きな名前を付けられます。

2. 仮想環境を使う

次に、その「部屋」に入ります。

  • Windowsの場合:
  • MacOS/Linuxの場合:

これで仮想環境が有効になります。コマンドプロンプトの左側に以下の様に(myenv)と表示されます。

※名前が少し違いますが、緑色の(venv)のところが仮想環境化で動いていることになります。

3. requirements.txt に依存関係を追加し、インストール

ダダ
ダダ

requirements.txt に依存関係を追加し、インストールする理由がよくわかりません。
理由を教えてくれますか?

ChatGPT
ChatGPT

requirements.txt に依存関係を追加し、インストールする理由は以下の通りです。

1. プロジェクトの依存関係を管理するため:
  • 依存関係のリスト化: requirements.txt ファイルに、そのプロジェクトで使用するすべてのパッケージやライブラリのリストを記載します。これにより、プロジェクトに必要なソフトウェアを一箇所で管理でき、どのパッケージが必要か一目でわかるようになります。
2. チームや他の開発者との共有を簡単にするため:
  • 一貫した環境の構築: requirements.txt を使って他の開発者が同じプロジェクトを設定する際、同じバージョンのライブラリやパッケージをインストールできます。これにより、プロジェクトの動作環境を全員が同じに保つことができ、互換性の問題を防ぐことができます。
3. プロジェクトの再現性を確保するため:
  • 環境の再現: プロジェクトを別のコンピュータで動かすときや、時間が経ってから再びセットアップするときに、requirements.txt に記載された依存関係をインストールするだけで、元の環境を簡単に再現できます。
4. 自動化と効率化のため:
  • 一括インストール: requirements.txt に書かれたすべての依存関係を pip install -r requirements.txt のコマンド一つで一括してインストールできるので、手動で一つ一つインストールする手間を省くことができます。

これらの理由により、requirements.txt はPythonプロジェクトで依存関係を管理し、他の開発者と環境を共有しやすくするために重要な役割を果たしています。

このようにしておけば、プロジェクトごとに環境を独立させ、他のプロジェクトやシステム環境との依存関係の衝突を防ぐことができます。また、整理されたディレクトリ構造はプロジェクトの管理とメンテナンスを簡単にしてくれます。

4. 仮想環境をやめる

作業が終わったら「部屋」から出ます。

仮想環境の設定が終わったので、次はプロジェクトファイルとディレクトリについて見ていきます。

推奨されるディレクトリ構造

仮想環境の設定が終わった後、プロジェクトコードを書くためのファイルは、プロジェクトディレクトリ内の適切な場所に作成することが重要です。以下に一般的なディレクトリ構造とファイル配置のガイドラインを示します。

各ファイルの具体的なガイドライン

ソースコードの場所:

  • src/ディレクトリ: プロジェクトのソースコードは通常、src/(または同様の名前のディレクトリ)に配置します。このディレクトリ内に、メインのコードファイル(例: main.py)や、モジュールやサブモジュールに分けたファイル(例: module.py)を作成します。
  • __init__.pyファイル: もしプロジェクトをパッケージ化する場合は、src/ディレクトリ内に __init__.py ファイルを作成し、パッケージとして扱えるようにします。

テストコードの場所:

  • tests/ディレクトリ: テストコードはソースコードと分けて管理するのが一般的です。テスト用のディレクトリ(tests/)を作成し、その中に各モジュールのテストファイルを置きます。例えば、module.py のテストコードは test_module.py という名前で保存します。

その他のファイル:

  • README.md: プロジェクトの概要や使用方法を説明するためのドキュメントを README.md としてプロジェクトのルートに配置します。
  • requirements.txt: 依存関係リストをこのファイルにまとめて、プロジェクトのルートに置きます。

プロジェクトコードを作成する手順

プロジェクトのルートディレクトリ(MyPythonProject/)内に src/ ディレクトリを作成します。

src/ ディレクトリ内に、メインのコードファイル(例: main.py)を作成します。

必要に応じて、他のモジュールファイル(例: module.py)を src/ 内に作成します。

これで、プロジェクトコードを整理して書くための準備が整います。src/ ディレクトリにコードを集めることで、プロジェクトの構造が整理され、他の開発者にも理解しやすいものになります。

上記のようにプロジェクトファイルを作成していくと、プロジェクト毎で分けられるので、変なエラーを避けられるようです!!

これで環境設定は終了になります。

まとめ

今回は仮想環境の設定ということでやっていきました。
プログラムでプロジェクトを進めていくうえで、ファイルの管理を丁寧にやっていると、『あのファイルはどこにやったかな?』みたいなことが減り、他のプロジェクトが鑑賞してこなくなるので、プロジェクトごとで環境を変えるためには仮想環境の設定が重要になるようです。
今回の記事を参考に環境設定にチャレンジをしてみてください。

もしわからないことがあれば、このブログやXに質問等を投げていただければと思います。また、コミュニティもやっっているのでそちらから質問を投げていただいても大丈夫ですよ!!

Xのアカウントはこちら

ダダのアカウント

Discordコミュニティ

ハピッツカフェ

プログラミングを視覚的に理解したい方やプログラミングで絵を書いてみたい方はUdemyで講座も作っているのでこちらも参考にしてみてください

Udemy講座

Processing Python講座

ChatGPTでPythonの学習を始めてみたい方は以下の記事を参考にしてみてください

ChatGPTはプログラミングの学習はできても、人のつながりまでは作ってくれません。
プログラミングの学習だけではなく、人との繋がりを作ってくれるスクールもオススメです。
気になる方は無料相談からでも体験してみてください!!

テックアカデミー無料メンター相談

次回の記事はこちらから

-ChatGTP, スキルアップ, プログラミング学習
-, , , , ,