pipの仕組みを分かりやすく解説!!5分で自作ライブラリをpipで使えるようになる

スポンサーリンク
pipの仕組みを分かりやすく解説!!5分で自作ライブラリをpipで使えるようになるPython
この記事を読んで分かること
  • pipとは何か
  • pipの裏側でやっていること
  • 自作のライブラリをpipでインストールする方法

 

pipとは

pipとは、

Python のパッケージをインストールするためのパッケージ マネージャー

です。

 

pythonで外部ライブラリを使いたい場合にはpipコマンドを使ってインストールするのが一般的な方法です。

 

pipコマンドを使ったインストール

pip install library-name

のように行います。

※library-nameには任意のライブラリ名が入ります。

 

pipはpythonのバージョンごとにインストールされるので、

python3.6 -m pip library-name
python2.7 -m pip library-name

といったコマンドで使用することも可能です。

 

ちなみに、pip は「 Pip Installs Python」 または「 Pip Installs Packages」 を略したものだとされています。

 

pipコマンドの使い方だけ知りたい人は、こちらの記事をご覧ください。

よく使うpipコマンド一覧!!最低限これだけ知っていれば開発できる
この記事を読んで分かること pipコマンドの使い方 pythonのライブラリを管理するpipコマンドについてまとめました。 ど忘れしてしまった時や細かい使い方がわからない場合に参考にしてみてください。 ...

 

pipの裏側では何をやっているのか

pipでライブラリのインストールを簡単に行うことができますが、裏側では何が行われているのか見てみましょう。

「pip install library-name」コマンドを実行すると以下のような処理が行われます。

pipコマンド実行時の処理
    • ステップ1
      PyPIリポジトリに接続する
    • ステップ2
      「library-name」という名前のライブラリを検索する
    • ステップ3
      pythonの環境に適したバージョンのlibrary-nameライブラリをダウンロードする
    • ステップ4
      site-packagesディレクトリにlibrary-nameをインストールする

 

PiPYリポジトリとは「Python Package Index」の略で、python標準のパッケージ管理システムです。

pythonユーザの先人たちが作ったパッケージが登録してあり、誰でも利用することができるようになっています。

PiPYで管理されているパッケージはGoogleやMicrosoftなどのスーパーエンジニアしか登録できないわけではなく、誰でも登録することができます。

 

自作のライブラリをpipでインストールする

先程pipではPyPIリポジトリに接続すると説明したのですが、実はローカルのファイルや自分のgithubに接続することもできます。

自作ライブラリをpipでインストールするためには、setup.pyさえ作ればOKです。

 

ローカルのファイルをpipでインストール

早速ローカルに作成したプログラムをpipでインストールできるようにしてみましょう。

フォルダ構成は以下のようになります。

├ setup.py
├ my_package # 自作のパッケージ
   ├ __init__.py
   ├ tools.py # メインのプログラム

 

setup.pyを作成して、パッケージの情報を設定します。

最小の構成にするとこのようなファイルになります。

setup.py
from setuptools import setup, find_packages

setup(
    name="my_package", 
    version='0.1',
    packages=find_packages()
)

 

メインのプログラムはこのように作りました。
tools.py 
def hello():
    print("hello pip")

 

では、いよいよpipでインストールしてみましょう。

setup.pyと同じディレクトリに移動して以下のpipコマンドを打ちます。

pip install .
実行結果(クリックして表示)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: my-package
Building wheel for my-package (setup.py) ... done
Created wheel for my-package: filename=my_package-0.1-py3-none-any.whl size=1353 sha256=844b7d2fb7f71a1ea7d76fa7e65d425bd1f18bc471d67087c75ed4d92a3b9aa7
Stored in directory: /tmp/pip-ephem-wheel-cache-8yai0skl/wheels/28/d5/55/48f11fc11386c3e25dbc863309b9b9e0a0130c25e6822eda14
Successfully built my-package
Installing collected packages: my-package
Successfully installed my-package-0.1

 

Successfully installed my-package-0.1と表示されたら成功です。

pip listコマンドで確認してみましょう。

pip list | grep my-package

my-package 0.1が見つかり、インストールができています。

 

アンインストールする場合も普段のpipコマンドと同様に

pip uninstall my-package

で削除できます。

 

インストールしたライブラリを使ってみる

先程インストールしたmy-packageを使ってみましょう。

from my_package import tools

tools.hello()

を実行すると、

hello pip

と表示されました。

 

ちなみに、__init__.pyに使いたいモジュールを定義しておけば、モジュール名を省略して使うことができます。

__init__.py
from my_package.tools import *

pipでインストールし直して、

import my_package

my_package.hello()

を実行すると、

hello pip

と表示されました。

 

gitにある自作ライブラリをpipでインストールする

ローカルのファイルをpipでインストールできたら、次はgitから直接インストールしてみましょう。

今まで作ったファイルを同じディレクトリ構成でgithubにアップロードします。

それだけでもう準備完了です。

pip install git+<リポジトリのURL>をするとインストールすることができます。

pip install git+https://github.com/xxxxx/my_package

 

まとめ

pipとは、Python のパッケージをインストールするためのパッケージ マネージャーです。

デフォルトではPiPYリポジトリに接続されますが、ローカル環境個人のgitにあるソースコードを指定してインストールすることもできます。

setup.pyさえ作っておけばpipコマンドで簡単に自分のライブラリを使うことができるので、ぜひ使い方を覚えておきましょう。

 

参考文献

Pythonで自分だけのクソライブラリを作る方法
Pythonでグローバルコマンドを含んだパッケージを作る - Qiita
Pythonでグローバルコマンドを含んだパッケージを作ったので、そのメモ。グローバルコマンドとは、/usr/local/bin/などの通常PATHが通っている場所にあるコマンドの事をいっており、/…

コメント

タイトルとURLをコピーしました