Pythonで作られた自作のモジュールのパッケージ化について調べました。
自作ライブラリをProjectのフォルダーの中に入れずに利用できるようにする
- Python 3.0以上
今回の解説のディレクトリ構造はこちらです。
|--sample_project
| |--sample
| | |--sample.py
| | |--hoge.py
| |--setup.py
| --test
| |--test.py
「setup.py」はパッケージをインストール (アンインストール)です。 また細かな設定を記述します。
以下はとりあえずの「setup.py」のコードです。 ※実際に使う場合はちゃんと調べて書いた方が良さそうなので要調査
from setuptools import setup, find_packages
setup(
name='Sample',
version="0.0.1",
description="Sample Code",
long_description="",
author='sampleman',
license='MIT',
classifiers=[
"Development Status :: 1 - Planning"
]
)
解説用のサンプルコードなのでどちらもシンプルな構造にしています。
class Sample:
def sample(self):
print('sample')
class Hoge:
def hoge(self):
print('hoge')
パッケージをインストール方法
setup.pyのあるディレクトリで以下を実行
python setup.py develop
pip listで確認すると
pip list
他のモジュールと同様にインストールが確認出来る
Sample 0.0.1 /xxxx/xxxx/sample_project
アンインストールする場合はこちらを実行
python setup.py develop -u
test/test.pyは以下のようなコードに なっています。
test/test.pyを以下のようにします。
from sample.sample import Sample
from sample.hoge import Hoge
sample = Sample()
sample.sample()
hoge = Hoge()
hoge.hoge()
インストール後に「test/test.py」を実行
python test.py
結果は以下の通り
sample
hoge
自作のモジュールをpipでインストールしたモジュールと同様に扱えます。