オリジナルのPythonパッケージを作成してGitHubからpipインストール可能にする方法
はじめに
こんにちは!今回は、Pythonで自分だけのオリジナルパッケージを作成し、それをGitHubに公開してpip
を使ってインストール可能にする方法を解説します。
専門的な知識がなくても理解できるように、シンプルな例を使ってステップバイステップで説明します。最終的には、自分のパッケージを他のプロジェクトでも簡単に再利用できるようになります。
この記事の概要
Pythonでは、便利な機能をモジュールやパッケージとしてまとめることで、コードの再利用性を高めることができます。さらに、それらをGitHubなどで公開し、pip
を使ってインストール可能にすれば、他の人もあなたのパッケージを簡単に利用できます。
この記事では、簡単な計算機能を提供するパッケージを例に取り上げます。このパッケージは、基本的な四則演算を行う関数を含みます。
実際に自分が作ったパッケージのリポジトリはこちらです。
プロジェクトの概要
-
パッケージ名:
simple_calculator
- 機能:基本的な計算機能(足し算、引き算、掛け算、割り算)
-
目標:
pip
を使ってインストール可能なPythonパッケージを作成し、GitHubから直接インストールできるようにする
GitHubリポジトリの作成
まず、GitHubで新しいリポジトリを作成します。
- GitHubにログインし、右上の「+」ボタンをクリックして「New repository」を選択します。
-
リポジトリ名:
simple_calculator
- 説明(オプション):A simple calculator package for basic arithmetic operations
- 公開/非公開設定:Public(公開)を選択します。
- READMEの作成:"Add a README file" にチェックを入れます。
- 「Create repository」ボタンをクリックしてリポジトリを作成します。
ディレクトリとファイルの構成
ローカル環境で作業を開始します。
# リポジトリをクローン
git clone https://github.com/YourUsername/simple_calculator.git
# ディレクトリに移動
cd simple_calculator
ディレクトリ構成は以下のようになります。
simple_calculator/
├── calculator/
│ ├── __init__.py
│ └── operations.py
├── setup.py
└── README.md
パッケージの作成手順
setup.py
の作成
1. setup.py
はパッケージのメタデータや依存関係を定義するファイルです。
touch setup.py
setup.py
に以下の内容を記述します。
from setuptools import setup, find_packages
setup(
name='simple_calculator',
version='0.1.0',
description='A simple calculator package for basic arithmetic operations',
author='Your Name',
author_email='your.email@example.com',
url='https://github.com/YourUsername/simple_calculator',
packages=find_packages(),
python_requires='>=3.6',
)
ポイント:
-
name
:パッケージ名を指定します。 -
version
:バージョン番号です。最初は0.1.0
とします。 -
description
:パッケージの簡単な説明です。 -
author
とauthor_email
:あなたの名前とメールアドレスを入力します。 -
url
:リポジトリのURLを指定します。 -
packages
:find_packages()
を使って自動検出します。
__init__.py
の作成
2. Pythonでは、ディレクトリをパッケージとして認識させるために、__init__.py
ファイルが必要です。
mkdir calculator
touch calculator/__init__.py
calculator/__init__.py
は空のままで大丈夫です。
3. パッケージの実装
calculator/operations.py
ファイルを作成し、計算機能を実装します。
touch calculator/operations.py
calculator/operations.py
に以下のコードを記述します。
def add(a: float, b: float) -> float:
"""2つの数値を加算します。"""
return a + b
def subtract(a: float, b: float) -> float:
"""2つの数値を減算します。"""
return a - b
def multiply(a: float, b: float) -> float:
"""2つの数値を乗算します。"""
return a * b
def divide(a: float, b: float) -> float:
"""2つの数値を除算します。ゼロ除算の場合はエラーを返します。"""
if b == 0:
raise ValueError("Cannot divide by zero.")
return a / b
README.md
の作成
4. README.md
ファイルにパッケージの説明と使用方法を記載します。
# simple_calculator
基本的な四則演算を提供するシンプルな計算機パッケージです。
## インストール方法
```bash
pip install git+https://github.com/YourUsername/simple_calculator.git
```
## 使い方
```python
from calculator import operations
result = operations.add(5, 3)
print(result) # 8
```
リポジトリへのコミットとプッシュ
変更をGitHubリポジトリに反映させます。
# 変更をステージング
git add .
# コミット
git commit -m "Initial commit with calculator package"
# リモートリポジトリにプッシュ
git push origin main
パッケージのインストールと使用方法
仮想環境の作成(推奨)
他のプロジェクトに影響を与えないように、仮想環境を作成します。
# 仮想環境の作成
python -m venv .venv
# 仮想環境の有効化(Mac/Linux)
source .venv/bin/activate
# 仮想環境の有効化(Windows)
.venv\Scripts\activate
パッケージのインストール
pip
を使って、GitHubから直接パッケージをインストールします。
pip install git+https://github.com/YourUsername/simple_calculator.git
パッケージの使用
Pythonシェルまたはスクリプトでパッケージを使用します。
from calculator import operations
a = 10
b = 5
print(f"{a} + {b} = {operations.add(a, b)}") # 10 + 5 = 15
print(f"{a} - {b} = {operations.subtract(a, b)}") # 10 - 5 = 5
print(f"{a} * {b} = {operations.multiply(a, b)}") # 10 * 5 = 50
print(f"{a} / {b} = {operations.divide(a, b)}") # 10 / 5 = 2.0
結果:
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2.0
まとめ
お疲れさまでした!これで、自作のPythonパッケージを作成し、GitHubから直接インストール可能にする方法を学ぶことができました。
今回のポイント:
-
setup.py
を使ってパッケージのメタデータを定義する - 必要なファイル(
__init__.py
や実装ファイル)を正しいディレクトリに配置する - GitHubにコードを公開し、
pip
でインストール可能にする
次のステップ:
- 他の機能をパッケージに追加してみる
- ユニットテストを追加してコードの品質を向上させる
- PyPIにパッケージを公開して、さらに多くのユーザーに利用してもらう
ご質問やフィードバックがありましたら、お気軽にコメントしてください。この情報がお役に立てれば幸いです!
Discussion