distutils は python 標準のパッケージ管理ツールです。python のバージョンによって仕様が異なる等の理由もあり、setuptools の利用が推奨されていますが、distutils を直接使う場合について簡単な設定を記載します。
以下のようなパッケージを設定してみます。init.py は空ファイルとします。
$ tree .
.
├── my
│ ├── __init__.py
│ └── module
│ ├── foo.py
│ └── __init__.py
└── setup.py
foo.py
# -*- coding: utf-8 -*-
x = 128
def setX(var):
global x
x = var
setup.py
# -*- coding: utf-8 -*-
from distutils.core import setup
setup(
name='mymodule',
version='1.0.0',
packages=[
'my',
'my.module',
],
url='http://www.example.com/',
author='author name',
author_email='xxx@example.com',
)
以下のコマンドでパッケージングできます。
python setup.py sdist
成果物
ls dist/
mymodule-1.0.0.tar.gz
インストールして使うためには以下のようにします。
tar zxvf mymodule-1.0.0.tar.gz
cd mymodule-1.0.0/
sudo python setup.py install
main.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import my.module.foo
my.module.foo.setX(256)
print my.module.foo.x
確かにインストールされました。
$ python main.py
256
インストール場所は以下のように確認できます。
sudo apt install python-pip
sudo pip install ipython
ipython
In: import sys
In: print sys.path
In: my.module.__path__
Out: ['/usr/local/lib/python2.7/dist-packages/my/module']