LoginSignup
1
2

More than 1 year has passed since last update.

【Python】conda list を pip freeze のような出力形式にする

Last updated at Posted at 2022-01-09

はじめに

Python で Web アプリをデプロイする際に、
DjangoFlask で Web アプリ開発を行い Heroku にデプロイしたりすることが多いと思います。

このとき、conda でライブラリのインストールをしていることがあると思います。
デプロイのため、requirements.txt にライブラリを記載することになりますが、
pip の場合は、 pip freeze > requirements.txt で簡単にインストール済みのライブラリ一覧を作成できます。
conda の場合は、 conda list -e > requirements.txt とすると、ライブラリの一覧は作成できますが、{ライブラリ名}=={バージョン}の形式に毎回変更しなければならず、少し面倒です。

bash であれば awksed コマンドが使えるので、正規表現と組み合わせて、 pip freeze の出力形式に近い形で出力できるようにしてみます。


awk, sed を利用した conda ライブラリ一覧の出力

conda list -e | awk -F'=' '{print $1,"==",$2}' | sed 's/ //g' | sed '/^#/d' > requirements.txt

このコマンドは、bash, zsh などで動作します。 powershell では動作しないので気をつけてください。
おおかた pip freeze と同じような出力形式で conda のライブラリ一覧を出力できると思いますので、requirements.txt の作成が楽になると思います。


さいごに

上記のコマンドよりも良いやり方はあると思います。
正規表現は、さまざまな場面で使えそうだと思いました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2