はじめに
皆さん、仮想環境を構築しなおして以前のプロジェクトと同じライブラリを用意したいけど、「どのライブラリインストールしてたっけ…」「バージョンなに使ってたっけ…」などという悩みはありませんか?
私はあります。
ちょうどなったばかりなので、備忘録として記録したいと思います。
同じ悩みの方にも是非参考にしていただければと思います。
requirements.txtを作ろう
皆さんはrequirements.txtファイルを作成する際はどのように作成していますか?
私は、力技大好きなので手書きで記入していました。
しかし、調べているとやはり便利なライブラリや方法がありますね。
その中でもいいなと感じたものをまとめたいと思います。
pipreqs
まず一つ目に紹介するのが、pipreqs
というライブラリです。
pip install pipreqs
でインストールするだけで使用できます。
使用方法ですが、まずはプロジェクトディレクトリに移動します。
cd /path/to/your/project
そして、以下のコマンドを実行します。
pipreqs . --force
プロジェクトディレクトリ内のファイルでインポートされているライブラリをrequirements.txtに書き込んでくれます。
--force
オプションはファイル内でインポートしたライブラリが変更された際に、requirements.txtを上書きするためのオプションです。
これで、プロジェクトで使用しているライブラリを管理することができますね!
pip freeze > requirements.txt
次に紹介するのは以下のコマンド
pip freeze > requirements.txt
こちらのコマンドは現在使用している仮想環境でインストールされたすべてのライブラリをrequirements.txtに書き込むことができます。
要するにpip list
で表示されるライブラリを管理できるということですね。
こちらも大変便利かと思います。
先ほどのpipreqs
と違って、仮想環境は同一だけどプロジェクトを複数動かしているという時に、プロジェクトを跨いだライブラリの管理が可能になります。
単一のプロジェクトでのライブラリ管理はpipreqs
、仮想環境毎でのライブラリ管理はfreeze
コマンドといったところでしょうか。
いずれにせよ、どちらも便利なので覚えておいてよさそうです。
まとめ
いかがだったでしょうか。
requirements.txt作成するの面倒くさい!!!という方はコマンドを叩くだけで作成し、管理することができるので是非お試しください。
それでは!!!
参考記事