【python】任意のライブラリをインポートするためパスを通そう!

今回は、pythonの基礎にあたる、importについて解説します!

ここでは、

「importって何?どうやるの?」

という方から、

「自作のファイルをライブラリに追加したい!importしたい!」

という方までへ向けて、

  • 【基礎】 importとは
  • 【基礎】 importの方法
  • 【応用】 インポート対象の検索パスを追加する方法

  • を説明いたします。

    この記事を読んでいただければ、標準ライブライのインポート方法から、任意のpyファイルをインポートさせる事までが可能です!

    ぜひ、最後までお付き合いください。

    インポートについて

    インポートとは、標準ライブライの機能を取り込む事を言います。インポート行うことで、様々な処理をする関数を呼ぶだけで処理する事が可能になったりします。

    また、独自のライブラリ(pyファイル)を作成し、それを取り込んで処理をする事も可能です。

    importの方法

    それでは、実際にpythonでimportを行う方法を紹介します。

    ここで紹介する方法は大きく分けて3つあります。

    1. “import 標準ライブラリ名”で標準ライブラリをインポートする方法
    2. “import 相対パス”で任意のライブラリをインポートする方法
    3. “import_module()”を使い任意のライブラリをインポートする方法

    以降では、その手順を説明いたします。

    標準のライブラリをインポートする

    標準ライブラリの方法は簡単です。

    以下のように、”import”の後に取り込みたいファイルの拡張子”.py”を除いた名前を入力するだけです。

    試しに、システムに関する処理をまとめたライブラリ”sys”をインポートしてみます。

    sys.versionは、pythonのバージョンを表示する関数です。実行すると、あなたの現在使っているpythonのバージョンが表示されるかと思います。

    コマンドラインで”$ python -V”をしたときと同じバージョンとなるでしょう。(複数のPythonが入っている場合は違うかもしれません)

    このように、importを行うことで様々な機能を扱う事ができるようになります!

    相対パスでインポートするファイルを指定する

    ここでは、自分で作成したpyファイルなどをインポートする際に、相対パスでインポートさせる方法を紹介します。

    例えば、以下のように配置されたsample.pyがあるとします。

    main.py
    importdir
    ┗ dirA
    ┗sample.py

    この時に、”main.py”に”sample.py”をインポートするには、以下のように行います。

    main.py:

    このように、”from”を使うことによってディレクトリを指定する事ができます。

    ただし、この方法によるインポートに仕方は__init__.pyでパッケージ化されている場合でないと使えません。

    パッケージ化と__init__.pyについて知りたい方は、以下を参照してください。

    import_module()を使って読み込む

    最後に、import_module()を使ってインポートする方法を紹介します。

    これは動的にインポートするライブラリを指定したい場合などに便利です。これを行うには、”importlib”をインポートする必要があります。

    それでは、実際に”sys”をインポートする方法を確認しましょう。

    インポート対象の検索パスを追加する方法

    ここからは、パッケージ化に関わらず自作のpyファイルをインポート対象として追加する方法を紹介します。

    大まかな方法としては、インポートの検索パスに対象ファイルのディレクトリを追加する事です。以降では、検索パスに追加して自作pyファイルを参照できるようにする方法を紹介します。

    インポート対象のディレクトリパスのリストを確認する

    まずは検索パスの一覧を取得する方法を確認しましょう。

    確認方法:

    このように、”sys.path”によってインポートできるパスの一覧が表示されます。

    このリストに参照させたいパスを追加する事によって、インポートを可能にする事ができるようになります。

    取得したリストにパスを追加する

    リストにパスを追加したい場合は、”sys.path.append()”で追加ができます。

    先ほど相対パスで参照した構成のsample.pyをここでもインポートしてみましょう。

    append()の中にパスの文字列を入れる事で、インポートが可能になります。

    また、ここで追加されるパスはこのスクリプト内でのみ有効です。

    環境変数”PYTHONPATH”にパスを追加する

    続いて、環境変数の”PYTHONPATH”にパスを追加する方法を紹介します。

    こちらは、コマンドライン上で入力することにより、環境変数としてパスを追加する事ができます。

    その為、一度設定したら都度append()する必要はなくなります。

    コマンドは以下になります。

    これを実行したのち、sys.pathを表示すると追加されている事が確認できます。

    .pthファイルに書き込み、検索パスを追加する

    最後に、“.pth”ファイルに書き込む事で検索対象にする方法を紹介します。

    “.pth”ファイルは、参照させたいパス一覧を書き込めるファイルです。このファイルがあれば、”PYTHONPATH”と同様、常に参照できるようになります。

    また、これを削除するだけで検索パスから除外できるので、システムへの影響も少ないです。

    具体的な方法としては、sys.pathで表示されるディレクトリの中に”*.pth”ファイルを作成し、そこに追加したいパスを記載することでパスが通ります。

    一例として、先ほどのimportdir/dirAを追加したい場合は、以下のようなファイルを作ります。

    importpath.pth(拡張子さえ適切であれば、ファイル名は自由です。)

    このようにパスだけを記載します。

    なお、”.pth”ファイルは検索パスに記載されたディレクトリ内であれば参照できるようですが、基本的には書くPython配下の”*/site-packages”に配置する事が推奨されていますので、特別な理由がない限りはここに配置しましょう

    まとめ

    いかがでしたでしょうか?

    今回の記事では、

    • 【基礎】 importとは
    • 【基礎】 importの方法
    • 【応用】 インポート対象の検索パスを追加する方法

    について紹介しました。

    python学習を進めるにつれ、自作ファイルも作られてくると思います。

    そんな時にインポートの方法をマスターしていると便利ですね!

    LINEで送る
    Pocket

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

    cta_under_bnr

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

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

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

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

    書いた人

    遠藤貴大

    遠藤貴大

    1991年生まれ。双子座。
    理系大学で認証システムを学んだ後、アプリ開発者となる。
    新しく学ぶ人に寄り添った記事を心がけて執筆します。
    芸術が好き。いつか猫と暮らすのが夢。

    おすすめコンテンツ

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

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