仮想環境を作ることで、Pythonのパッケージをプロジェクトごとに隔離することができます。
チームで開発する時はもちろんのこと、個人開発をする時も、環境依存の問題をなくすために、仮想環境を使って、開発をすべきです。
個人的には、環境差異による問題は、原因の特定に時間がかかるので、できるだけ、開発者間で環境は同じものを使うように工夫すべきです。
Pythonで仮想環境を作成する方法は複数ありますが、一番のおすすめは、Pythonの標準ライブラリに組み込まれているvenvを利用する方法です。
以下では、venvを使って、Pythonの仮想環境を作成する方法を紹介します。
それでは、最後までお願いいたします。
Pythonを勉強する時、何から勉強するか分からず、挫折します。初心者でも、中級者でも、レベルに合わせた勉強方法を分かりやすくまとめています。
venvで仮想環境を作る方法
venvで仮想環境を作るのは非常に簡単です。具体的な方法は以下の通り。
まずは、コマンドプロンプトやターミナルで、仮想環境を作成するディレクトリに移動します。
例としては、以下の通りです。
cd プロジェクトフォルダの直下
次のコマンドを実行して、仮想環境を作成します。
$ python -m venv ディレクトリ名
上記のディレクトリ名の部分が、仮想環境の名前になります。
そのためか、フレームワークなどで自動生成される「.gitignoreファイル」は、venvとenvが事前にgitの対象外フォルダとして、設定されていることが多いです。
作成した仮想環境を使用するには、まず仮想環境を有効化します。
以下のように、「activate」スクリプトを実行すると、仮想環境を有効化できます。
$ source ディレクトリ名/bin/activate
venvという名前で仮想環境を作ったなら、以下のようになります。
$ source venv/bin/activate
すると、仮想環境が有効化されます。
仮想環境を無効化するには、「deactivate」コマンドを実行します。
$ deactivate
仮想環境で使用するパッケージをインストールするには、通常と同じく、「pip」コマンドを使用します。
以下のように、「pip」コマンドを使用してパッケージをインストールします。
$ pip install パッケージ名
業務では、インストールするパッケージをrequirements.txtにまとめて管理することが多いです。
requirements.txtの詳しい記事は以下から
仮想環境を削除するには、仮想環境があるディレクトリから、仮想環境を無効化した状態で、仮想環境のディレクトリを削除します。
deactivate
rm -rf venv
すると、仮想環境が削除されます。
よくある質問
よくある質問をまとめます。
Python学習におすすめのコンテンツ
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
Udemyの講座でPythonなら、文句なしにおすすめ
- 分かりやすい言葉や具体的なコードで工夫して説明しているので、初心者でも理解できる。
- 初心者でも挫折しないように、丁寧に詳しく手順を説明している。
- 講座内で取り扱う課題は実践的なものが多く、書籍では身につかない応用力を身につけられる。
- 情報量が多いのに、講座の進み方が速いので、一回では理解が追いつかない。
- 課題の難易度が高すぎる場合がある。
- 講師のアクセントが特殊で、聞き取りにくいと感じたことがある。
テスト駆動Python 第2版
日本語で唯一、pytestだけに焦点を当てて、詳細に書かれた書籍です。
- 日本語でpytestの全てについて、解説されている唯一の書籍
- 段々とステップアップして、深くなるので、初心者でも、中級者でも、上級者でも、学びがある
- サンプルコードには、サンプルアプリが含まれているため、実践的に学べる工夫あり
- 章末にまとめがあり、復習の役に立つ
- 第7章に「どのようなテストを書くのか」についての解説があり、テストに対する考え方が深まる
- 後半になると、かなり高度な内容になるため、初心者には難しい
- タイトルに「テスト駆動開発」と書かれているが、該当部分の記述が少なく、テスト駆動開発を知りたい人は期待外れになるかも
間違えて、第1版を買わないように注意して下さい。
まとめ:Pythonで仮想環境を作るなら、venvがおすすめ
ここまで、Pythonで仮想環境を作成する方法を解説しました。
手順を簡単にまとめると、以下の通りでした。
- 仮想環境を作りたいディレクトリに移動する
- venvを使って、仮想環境を作成する
- 仮想環境を有効化する
仮想環境を使うことで、Pythonのパッケージをプロジェクトごとに分けることができます。複数のプロジェクトで異なるバージョンのパッケージを使いたい場合や、パッケージのテストや開発を行う場合に便利ですので、ぜひとも有効活用して下さい。
Pythonを勉強する時、何から勉強するか分からず、挫折します。初心者でも、中級者でも、レベルに合わせた勉強方法を分かりやすくまとめています。
コメント