※GoogleColaboratoryの環境がなく、wsl上で試した内容を書いています。そのため、以下で使っているようなシェルスクリプトのコマンド(sedやawk)はGoogleColaboratoryで使えないかもしれません。その場合はスルーしてください
・環境に関わらず使用される絶対的な容量(既に依存ライブラリがインストール済みだった場合、その依存ライブラリの容量も含む)
・特定の環境(既に依存ライブラリがインストール済み)で特定のライブラリをインストールした時の容量(差分)
私の環境にscikit-learn
が入っていないので、Django
のパッケージをインストールした場合を例として挙げますが、それぞれ
- Django単体の容量
- Django + 依存ライブラリの容量
が知りたいという想定で書かせていただいてます。
以下の形でpip show
を使ってパッケージのLocation
やName
を取得し、その容量を測定すればできると思います。
$ pip show Django | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null
45M /home/maru/work/20220106_Django/boardproject/venv/lib/python3.8/site-packages/django
依存ライブラリはpip show
のRequires
で調べられるので、
$ pip show Django
Name: Django
Version: 4.0.3
Summary: A high-level Python web framework that encourages rapid development and clean, pragmatic design.
Home-page: https://www.djangoproject.com/
Author: Django Software Foundation
Author-email: foundation@djangoproject.com
License: BSD-3-Clause
Location: /home/maru/work/20220106_Django/boardproject/venv/lib/python3.8/site-packages
Requires: sqlparse, asgiref, backports.zoneinfo
Required-by:
それを一つずつ容量測定すればできそうです。
ただ、完全に力技なので、ライブラリが多い場合などはスクリプトを作って自動化できるようにした方が良いと思います。
$ pip show sqlparse | grep -E 'Location:|Name:' | cut -d ' ' -f 2 | paste -d ' ' - - | awk '{print $2 "/" tolower($1)}' | xargs du -sh 2> /dev/null
344K /home/maru/work/20220106_Django/boardproject/venv/lib/python3.8/site-packages/sqlparse