これが可能かどうかはわかりません。グーグルには答えがないようです。
Linux Debianを実行すると、インストールされているすべてのpipパッケージとサイズ(使用されているディスク容量)を一覧表示できますか?
つまり、すべてのpip
パッケージをディスク上のサイズとともにリストしますか?
パッケージサイトにアクセスして、サイズを確認します。 https://pypi.python.org/pypi/pip/json
これを試してください(少し長いですが、より良い解決策があるかもしれません):
$ pip list | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null
出力は次のようになります。
80K /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/blinker
3.8M /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/docutils
296K /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/ecdsa
340K /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/execnet
564K /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/fabric
1.4M /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/flask
316K /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/httplib2
1.9M /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages/jinja2
...
パッケージがLocation/Name
にインストールされている場合に機能します。 (場所と名前はpip show <package>
のものです)
pip show <package>
は場所を表示します:
---
Metadata-Version: 2.0
Name: Flask
Version: 0.10.1
Summary: A microframework based on Werkzeug, Jinja2 and good intentions
Home-page: http://github.com/mitsuhiko/flask/
Author: Armin Ronacher
Author-email: [email protected]
License: BSD
Location: /home/lord63/.pyenv/versions/2.7.11/envs/py2/lib/python2.7/site-packages
Requires: itsdangerous, Werkzeug, Jinja2
Name
とLocation
を取得してそれらを結合して場所を取得し、最後にdu -sh
を使用してパッケージサイズを取得します。
新しいピップリスト形式の新しいバージョン:
pip2 list --format freeze|awk -F = {'print $1'}| xargs pip2 show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null|sort -h
履歴:
現在、その目的のために開発されたコマンドやアプリケーションはありません。手動で確認する必要があります
手動による方法I:
du /usr/lib/python3.5/ --max-depth=2 | sort -h
du /usr/lib64/python3.5/ --max-depth=2 | sort -h
これには、そのディレクトリからインストールされたパッケージ/ファイルは含まれません。したがって、これらの2つのsimplesコマンドで95%が取得されると述べています。
また、他のバージョンのpythonがインストールされている場合は、ディレクトリを調整する必要があります
手動による方法II:
pip list | sed '/Package/d' | sed '/----/d' | sed -r 's/\S+//2' | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" $(find $2 -maxdepth 1 -iname $1)}' | xargs du -sh | sort -h
大文字と小文字を区別しないパッケージ名でインストールディレクトリを検索します
手動の方法II代替I:
pip list | sed '/Package/d' | sed '/----/d' | sed -r 's/\S+//2' | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - -| awk '{print $2 "/" tolower($1)}' | xargs du -sh | sort -h
小文字でパッケージ名を指定してインストールディレクトリを検索します
手動による方法II代替II:
pip list | sed '/Package/d' | sed '/----/d' | sed -r 's/\S+//2' | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - -| awk '{print $2 "/" $1}' | xargs du -sh | sort -h
パッケージ名でインストールディレクトリを検索します
注:
すべての方法IIでは、du: cannot access
で始まる行を手動でチェックする必要があります。コマンドは、インストールディレクトリにパッケージの名前を追加しますが、名前がパッケージ名と異なる場合があります。ディレクトリの場合...少なくとも、これを行うアプリケーションを開発しようとする人にとって、これは良い出発点になるでしょう。
シンプルにする:
上記のpipバージョン18以上に変更:
pip list | tail -n +3 | awk '{print $1}' | xargs pip show | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null | sort -hr
このコマンドは、サイズの降順でソートされたpipパッケージを表示します。