Pythonで開発をすると、頻繁に「pip install」コマンドを使って、モジュールをインストールします。
この記事では、一括でモジュールをインストールできるrequirements.txtの使い方について解説します。
requirements.txtを使って、インストールするモジュールを管理できると、環境差異が原因のエラーを防げます。
地味だけど、大切なTipsですので、ぜひとも最後までお読み下さい。
Pythonを勉強する時、何から勉強するか分からず、挫折します。初心者でも、中級者でも、レベルに合わせた勉強方法を分かりやすくまとめています。
一括インストールする方法:pip install -r requirements.txt
requirements.txtを使って、モジュールを一括でインストールする方法は以下の通り。
pip install -r requirements.txt
インストールしたモジュールを確認する方法は、以下の通りです。
pip list
非常に簡単ですね。GitHubでリポジトリをクローンした時やチームメンバーにプロジェクトを共有された時によく使います。
requirements.txtの作成方法
requirements.txtは、以下のように作成します。
まずは、requirements.txtという名前でファイルを作成します。
実際、別名でもOKですが、requirements.txtという名前で作成するのが暗黙のルールです。
ファイルを作る場所は、プロジェクトフォルダの直下に作ることが普通です。
project_folder
L requirements.txt
次は、インストールしたいモジュールをrequirements.txtに書きます。
boto3
opencv-python
これで完成です
requirements.txtにモジュールのバージョン情報を書く
requirements.txtでは、インストールするモジュールのバージョンを不等号を使って指定できます。
不等号 | 実装例 |
---|---|
== | something==1.0.0 |
> | something>1.0.0 |
>= | something>=1.0.0 |
< | something<1.0.0 |
<= | something<=1.0.0 |
またカンマ(,)を使うと、複数条件を指定することができます。
something>= 1.0.0,<=2.0.0
まぁ実際は、バージョンを固定したい場合が多いので、==の使用頻度が一番高いです。
バージョン情報をrequirements.txtに反映する方法:pip freeze
pip freezeを使えば、現在インストールしているモジュールのバージョン情報を確認できます。
これを利用すれば、開発時点でのバージョン情報をrequirements.txtに反映することができます。
個人開発でも、現場でのチーム開発でも、大きな悩みの種は環境差異です。pip freezeを使って、requirements.txtを書けば、以下のような問題が解消できます。
- ある日ソースコードが動かなくなった
- チームメンバーに開発したプログラムを共有したら、動かなかった
地味に感じるかも知れませんが、時間の無駄を防ぐため、丁寧に対応しましょう。
pip freezeを利用したrequirements.txtの書き方
pip freezeを利用したrequirements.txtの書き方は以下の通り。
まずは、インストールしたモジュールのバージョンを確認するため、以下のコマンドを入力します。
$ pip freeze
(省略)
pytest==7.1.3
(省略)
私の環境では、pytestのバージョンは7.1.3でした。
フォルダ直下にrequirements.txtを作成して、以下のように書きます。
pytest==7.1.3
requirements.txtを利用したインストール方法は以下の通り。
$ pip install -r requirements.txt
これで指定したバージョンのライブラリがインストールできます。
Python学習におすすめのコンテンツ
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
Udemyの講座でPythonなら、文句なしにおすすめ
- 分かりやすい言葉や具体的なコードで工夫して説明しているので、初心者でも理解できる。
- 初心者でも挫折しないように、丁寧に詳しく手順を説明している。
- 講座内で取り扱う課題は実践的なものが多く、書籍では身につかない応用力を身につけられる。
- 情報量が多いのに、講座の進み方が速いので、一回では理解が追いつかない。
- 課題の難易度が高すぎる場合がある。
- 講師のアクセントが特殊で、聞き取りにくいと感じたことがある。
テスト駆動Python 第2版
日本語で唯一、pytestだけに焦点を当てて、詳細に書かれた書籍です。
- 日本語でpytestの全てについて、解説されている唯一の書籍
- 段々とステップアップして、深くなるので、初心者でも、中級者でも、上級者でも、学びがある
- サンプルコードには、サンプルアプリが含まれているため、実践的に学べる工夫あり
- 章末にまとめがあり、復習の役に立つ
- 第7章に「どのようなテストを書くのか」についての解説があり、テストに対する考え方が深まる
- 後半になると、かなり高度な内容になるため、初心者には難しい
- タイトルに「テスト駆動開発」と書かれているが、該当部分の記述が少なく、テスト駆動開発を知りたい人は期待外れになるかも
間違えて、第1版を買わないように注意して下さい。
requirements.txtを使えば、環境差異がなくなる
ここまでの内容を復習すると、以下の通りでした。
- pipを使いモジュールを一括でインストールする方法
- requirements.txtの書き方
- バージョン情報をrequirements.txtに反映する方法
requirements.txtを使って、モジュールのインストールを管理すると、個人開発でも、チーム開発でも、安心して、プログラムを書けます。
環境差異によるエラーを防げるので、無駄な時間の浪費がなくなります。
ぜひとも使ってみて下さい。
Pythonが書ければ、現場でも重宝されます。ぜひともPythonをマスターして、市場価値を上げて下さい。
Pythonを勉強する時、何から勉強するか分からず、挫折します。初心者でも、中級者でも、レベルに合わせた勉強方法を分かりやすくまとめています。
コメント