依存ライブラリとは
当たり前の話ですが皆さんが使用するライブラリ自体も開発者がいますよね。
その開発者がライブラリを作成する際、1からコーディングしていくのかというと、もちろんそんなことはありません。
皆さんがアプリやツールを作成するのと同じように既存のライブラリを使ってコーディングを行っています。
Library B
を開発する場合を考えてみましょう。
Library B
の一部機能をLibrary A
を使って実現できる場合、Library B
のソースコードにはLibrary A
がインポートされます。
こうして出来上がったLibrary B
を皆さんが使いたい場合、Library B
だけをインポートして動くでしょうか?
答えはNoです。
Library B
の中ではLibrary A
が使用されているわけですからLibrary A
もインポートしてあげなければLibrary B
は動いてくれません。
この場合、Library A
はLibrary B
の依存ライブラリと呼ばれます。
ライブラリをインストールする方法はいくつかありますが、基本的にはこの依存ライブラリも同時にインストールされることになります。
具体例
画像処理でおなじみのOpenCV
ですが、こちらをインストールすると87件の新しいライブラリがインストールされ、もともと入っていた既存ライブラリも4件ほど上書きされていました。
つまりOpenCVは少なくとも 87+4=91件 の依存ライブラリを持っているといえます。
※ Python 3.12.7、miniconda
で生成した仮想環境にて検証
OpenCVインストール前後ライブラリ比較一覧
インストール前 | インストール後 | |
---|---|---|
ライブラリ数 | 16 | 103 |