質問: `pip freeze` を実行すると、結果の中に ``` grep==0.3.2 ``` が出てきます。しかし、 `python -m pip freeze | grep パッケージ名` という風に実際に使おうとすると、 ``` 'grep' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ``` と言われてしまいます。また、listを使った ``` pip list | grep パッケージ名 ``` でも、上記同様使えないと言われてしまいます。 何かやらなければいけない設定などあるのでしょうか? 宜しくお願いします。
回答: それは`Python`のモジュールとしての`grep`と、`Windows`のコマンドとしての`grep`を混同しています。 `python -m pip freeze | grep パッケージ名`とした時の`grep`は、`grep.exe`とか`grep.bat`等がカレントフォルダや`PATH`で指定したフォルダのどこかに存在している必要があります。 この場合、簡単なのは`grep`の代りに`find`にして、`パッケージ名`を`""`で囲むことですね。 `grep`の仕様やオプションの細かい動作にこだわらないのであれば、同等に見做せる結果を得ることが出来るでしょう。 こんな感じになります。 `python -m pip freeze | find "パッケージ名"` `pip list | find "パッケージ名"` 特定のモジュール/パッケージがインストール済みか/版数は何か調べるなら、`show`コマンドが良さそうです。インストールされていれば依存関係とか詳しい情報も出てきます。 `pip show パッケージ名`