Pythonについて調べていると、「パッケージ」や「ライブラリ」という言葉をよく見かけます。
これらの用語が何を意味しているのかわからないままPythonを使用していませんか?
パッケージとライブラリはPythonを使う際に必ず覚えておいた方が良い用語です。
これらを理解することで、より効果的にPythonを使用することができます。
ということで、この記事では「パッケージ」と「ライブラリ」の違い、そしてその使い方について詳しく解説していきます。
この記事を読むことで次のことがわかります。
- パッケージとライブラリの違い
- パッケージとライブラリの使い方
- パッケージとライブラリを使用するときの注意点
そんなに複雑な内容ではないので、サクッと解説していきます!
それではよろしくお願いします!
知っておくべき3つの用語
まず、Pythonを使う上で理解しておきたい3つの用語について説明します。
今回のテーマになっている「パッケージ」「ライブラリ」、そして「モジュール」の3つです。
まずはこれらの用語を解説していきます。
モジュール
「パッケージ」や「ライブラリ」を理解するためには、まず「モジュール」について知る必要があります。
私たちがPythonで書いたコードは、通常「.py」という拡張子で保存されます。
この「.py」形式で保存されたファイルのことを「モジュール」と呼びます。
例えば、Pythonを始めると最初にこんなコードを書くと思います。
print("hello, world")
このファイルがモジュールです。
これらのモジュールはインポートすることで他のモジュールから簡単に呼び出すことができます。
こうすることで、コードの再利用性が高まり、作業効率も向上します。
詳しく書くと長くなってしまうので、インポートの方法などはまた別の機会で解説します。
パッケージ
「パッケージ」は先ほどのようなモジュールをまとめたディレクトリ(フォルダ)のことを指します。
イメージとしては以下のようなものです。
この例ではhelloパッケージの中にjapanese.py、english.py、chinese.pyの3つのモジュールが存在ます。
パッケージにまとめることで、関連するモジュールをひとつのまとまりとして管理することができます。
プロジェクトが大きくなるとモジュールの管理が必須になります。
そのときにパッケージに分けて整理することで、ファイルがどこにあるかがわかりやすくなります。
ライブラリ
「ライブラリ」は複数のパッケージをまとめてインストールできるようにしたもののことを指します。
ライブラリにはデータ解析、画像処理、機械学習などさまざまなものが用意されており、これらを使うことで複雑な処理を簡単に実行することが可能になります。
NumPy:数字を使った計算を簡単にしてくれるライブラリ
Pandas:データを整理したり、計算したりするためのライブラリ
Matplotlib:データをグラフにして見やすくするためのライブラリ
Flask:Webサイトを作るためのライブラリ
例えば、複数の数値の平均値を求めたい場合、普通にコードを書くとすべての数値を足して割る処理を書かなければなりません。
ですが、NumPyライブラリをインストールしておけば、複数の数値を渡すだけで平均値を求めてくれます。
このようにライブラリを使えばコードを書かなくても、複雑な処理を簡単に実装することができます。
- 「モジュール」は「.py」形式で保存されたファイルのことを指す
- 「パッケージ」はモジュールをまとめたディレクトリのことを指す
- 「ライブラリ」は複数のパッケージをまとめてインストールできるようにしたもののことを指す
ライブラリの使い方
ここまでモジュール、パッケージ、ライブラリについて解説してきました。
世の中には大量のライブラリがあり、私たちはライブラリをインストールすると使用できるようになります。
そして、ライブラリの中にパッケージやモジュールがあり、必要な機能だけを選択して使用するイメージになります。
それでは、ライブラリをインストールするにはどのような手順を踏めばいいのでしょうか?
ここからはライブラリ、パッケージ、モジュールを使用する方法について解説します。
ライブラリには種類がある
ライブラリには、大きく分けて「標準ライブラリ」と「外部ライブラリ」の2種類があります。
標準ライブラリ
Pythonをインストールしたときに最初から含まれているライブラリのことを「標準ライブラリ」と言います。
これらは特別なことをしなくても指定するだけで使用できます。
外部ライブラリ
最初から含まれておらず、自分でインストールして使うライブラリのことを「外部ライブラリ」と言います。
一般的によく使用されるものは標準ライブラリ、少し特殊なことをしたい場合は外部ライブラリに分けられているようなイメージです。
ライブラリのインストール方法
では外部ライブラリはどうやってインストールできるのでしょうか?
ライブラリをインストールするには「pip」というツールを使います。
pipはPythonのパッケージを管理するためのツールで、必要な外部ライブラリを簡単にインストールすることができます。
pipはコマンドプロンプトから下記のように実行します。
pip install pandas
このコマンドを実行することで、Pandasライブラリをプロジェクトに追加して使用することができます。
外部ライブラリは膨大な量があるので、自分の目的にあったライブラリをネットで探してインストールするといった使い方になります。
ライブラリの使い方
ライブラリがインストールできたら次はコード上で使えるようにしていきます。
ライブラリとしての使用方法
ライブラリとして使用するためにはpythonに次のようなコードを書きます。
# pandasライブラリをインポート
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head())
「import pandas」ライブラリをインポートしてすべての機能を使用できるようにします。
後ろの「as pd」はお作法なようなものです。このように書くことで、「pd」でpandasが使用できるようになります。
パッケージとしての使用方法
パッケージとして使用するためにはpythonに次のようなコードを書きます。
#pandas.ioという内部パッケージを使用
from pandas.io import json
data = '{"name": "John", "age": 30, "city": "New York"}'
df = json.loads(data)
print(df)
「from pandas.io import json」でpandasの中にあるioというパッケージにある「json」というモジュールを使用するという意味になります。
これにより、特定のパッケージだけを使用することができます。
モジュールとしての使用方法
#DataFrameクラスを使用する
from pandas import DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]
}
df = DataFrame(data)
print(df)
「from pandas import DataFrame」でpandasにあるDataFrameを使用するという意味になります。
この例は厳密にいうとモジュールではなくというクラスになりますが、モジュールを使用するときも同じような書き方になります。
これにより、必要なモジュールだけ使用することができます。
必要によって使い分けて使用するようにしましょう!
- ライブラリは「標準ライブラリ」と「外部ライブラリ」の2種類がある
- 標準ライブラリは最初から準備されているライブラリ、外部ライブラリは自分でインストールするライブラリ
- 外部ライブラリは「pip」コマンドを使用することでインストールできる
ライブラリを使用するときの注意
ここまでライブラリの使い方を紹介しきました。
とても便利なライブラリですが、手当たり次第にインストールすれば良いわけではありません。
ライブラリをインストールしすぎると問題が起きることもあります。
ライブラリを入れすぎると起きる問題
ライブラリをインストールしすぎると次のような問題が起きます。
ディスク容量不足
インストールするライブラリが多くなると、当然のようにディスク容量を圧迫します。
ディスク容量が不足すると、他のシステムの動作にも悪影響を及ぼす可能性があります。
依存関係の競合
ライブラリ同士の依存関係で競合が発生することがあります。
例えば、ライブラリAはライブラリCのバージョン2が必要で、ライブラリBはライブラリCのバージョン3が必要という状態になる場合です。
こうなると、どちらかのライブラリが動作しなくなり、解決に時間がかかることになります。
動作の遅延
ライブラリが増えるとプログラムの動作が遅くなることもあります。
そうすると、メモリ消費量が増えてシステム全体のパフォーマンスに悪影響を及ぼすこともあります。
このようにライブラリが増えると様々な問題が出てきます。
そうすると、メンテナンスが難しくなります。
そのため、本当に必要なライブラリのみをインストールすることが重要です。
ライブラリを正しく使おう!
「ライブラリを増やすな!」と言われても、プロジェクトによって使用したいライブラリは変わってきます。
機械学習をしたいプロジェクト、画像処理をしたいプロジェクト、データ分析をしたいプロジェクトなど、プロジェクトが増えるほど使用するライブラリも増えてきます。
そんなときに便利な仕組みが「仮想環境」です!
仮想環境を使うと、プロジェクトごとに異なるライブラリを管理できて、依存関係の競合を避けることができます。
仮想環境について解説を始めると長くなってしまうので、また別の記事で解説しようと思います。
仮想環境が使えるとPythonのプロジェクト管理が格段に楽になりますよ!
- ライブラリをインストールしすぎると様々な問題が起きる可能性がある
- ライブラリをプロジェクト毎に管理するために「仮想環境」について知っておく
まとめ
今回は、Pythonの「モジュール」「パッケージ」「ライブラリ」について紹介しました。
ライブラリをうまく使いこなすことで、複雑な処理を簡単に行うことができます。
ただし、ライブラリのインストールには注意が必要です。
インストールしすぎると動作が重くなったり、依存関係の競合が起きたり、様々な問題が出てきます。
そんな時のために仮想環境を知っておきましょう!
仮想環境を使うとプロジェクト毎の管理ができ、ライブラリの整理がしやすくなります。
ライブラリやパッケージをうまく活用して、Pythonで自分のやりたいことを実現しましょう!