はじめてのPython!パッケージをimportする方法をやさしく解説!

今回はPythonでパッケージを使用するために必要なimportの方法について、解説していきたいと思います。パッケージは、Pythonのコードが書かれたファイルが複数ある場合や、他の人が作ったコードを再利用するときによく使われます。

そもそもimportって何?
パッケージの作り方について教えてほしい
パッケージをimportして使える状態にしたい

そのような方に向けて、この記事では以下の内容について解説していきます!

  • 【基礎】importとは
  • 【基礎】モジュール、ライブラリ、パッケージとは
  • 【実践】パッケージの作り方
  • 【実践】パッケージをimportする方法


importはパッケージやモジュールを呼び出して使用するときによく使いますので、使い方についてはよく理解しておきましょう。

※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

まずはimportについて理解しよう!

importとは

importとは、Pythonで書かれたコードを再利用するためにはに使用します。importはソースファイルの先頭に以下のように記述します。

これからimport出来るファイルの作成と、importのさまざまな方法について見ていきましょう!

モジュール、ライブラリ、パッケージとは

import出来るファイルには、

  • モジュール
  • ライブラリ
  • パッケージ

など、さまざまな呼ばれ方をするものがあります。モジュールとは、Pythonのファイル(.py)の事です。Pythonである程度の長いプログラムを書く場合などは、コマンドラインではなく.pyファイルに実行したい内容を保存します。

そしてその保存された.pyファイルは、他のPythonのプログラムからimportで呼び出して使うことも出来ます。これをモジュールと呼びます。また、複数のモジュールで構成されたものはパッケージと呼ばれます。

科学技術計算でよく使われるnumpyなどはすべてパッケージという形で配布されています。モジュールやパッケージは、使うとメンテナンス性が高くなり、管理がとても楽になります。

また、自分以外の開発者に同じ機能を使ってもらう場合は、機能の仕組みを知らなくても簡単に使ってもらうことが出来ます。ちなみにPythonではライブラリという言葉の定義は(私の知る限り)曖昧で、パッケージに近いものだと考えてOKだと思われます。

【まとめ】

  • モジュールとはPythonのソースファイルのこと
  • パッケージは複数のモジュールで構成されたもの
  • ライブラリはそれらを組み合わせた意味として使うこともある

パッケージの作り方

ここからは、実際に簡単なパッケージを作ってみましょう。今回はmod1.pyとmod2.pyというファイルを作り、これらを一つのパッケージとして作ってみましょう。mod1.pyはこのようになっています。

mod1.py

続いてmod2.pyはこのようになっています。

mod2.py

これらをmodsampleという名前の一つのフォルダにまとめましょう。今の構成はこのようになっています。

モジュールをまとめることはできましたね。

しかし、これではまだパッケージとして認識されません。Pythonにパッケージだということを伝えるためには「__init__.py」というファイルを作らなければなりません。この__init__.pyの中身は空でも問題ありません。

しかし、この__init__.pyにimportしておきたいファイルを相対パスを使って書くことで、複数のファイルを一度にimportさせることも出来ます。

と書くと、ひとつ下にある複数のモジュールを扱うことが出来るようになります。__init__.pyを追加した今の構成はこのようになっています。

これでパッケージは完成しました。この後はいろいろな方法でこのパッケージを呼び出してみましょう

パッケージをimportする方法

先程作ったパッケージを使うためには、importという作業をしなければなりません。これからのサンプルコードは対話モードのPythonで実行しても問題ありません。

しかし、modsampleという先程作ったパッケージは、対話モードのPythonを実行する場所においておきましょう。まずはパッケージ全体を読み込んでみましょう。こちらのサンプルコードを見てみてください。

これだけで、先程作ったパッケージがimport出来ました。importの基本はこの形になるので覚えておきましょう。

これでパッケージ全体(modsampleディレクトリ以下全て)を読み込むことができましたが、あまりに膨大なコードを含むパッケージでは実行速度にも支障が出てきてしまいます。そこで、次は本当に使いたい一部の機能だけを読み込んでみましょう

一部の機能だけをimportする方法

先程はパッケージ全体を読み込んでみました。今回はmodsampleのパッケージから、一部のmod1.pyだけを読み込んでみましょう。こちらのサンプルコードをご覧ください。

importの仕方が先程と違うことに気をつけてください。

実行結果

ここでは、modsampleというパッケージから、mod1というモジュールを選んでimportすることが出来ました。

新しく名前をつけてimportする方法

次はimportするときに名前を変えてimportしてみましょう

ここでは先程のimportに、「as」が追加されていることに注意しましょう。これで「mymod」という名前でmod1funcを実行することが出来ました。

実行結果

この形でのimportは、numpyなどのパッケージを使うときによく見られるので覚えておきましょう!なお、import asの使い方については、以下の記事でも解説しています!

【Python入門】import・asの使い方をわかりやすく解説
更新日 : 2018年6月30日

まとめ

この記事ではPythonのモジュールやパッケージの基本、importの仕方について解説しました。importの仕方は1つではないので、使いたい機能によって使い分けていきましょう。

モジュールが集まってパッケージと呼ばれたり、パッケージには__init__.pyが必要だったり、覚えることは多いかもしれません。もし忘れてしまったら、ぜひこの記事を読み返してみてください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Kotono

Kotono

イタリア在住15年目の22歳です。イタリアの大学で情報科学&応用数学を学んでいます。主にJavaScriptやPythonについての記事を書いたりしています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説