tanihito’s blog

デジタル・新規事業開発・健康など、興味のあることについてつらつらと書いてきます。

PyPIデビュー!

Python Hack-a-thon 4: ハンズオンを読んでPyPIデビューしました!意外と簡単にPyPIに登録できましたが、変なところではまったので記録しておきます。

パッケージを作る

今回は練習のため簡単なパッケージhogehogeを作ってみます。

$ mkdir hogehoge
$ cd hogehoge
$ cat << EOF > setup.py
from setuptools import setup
setup(name='hogehoge')
EOF
$ mkdir hogehoge
$ cd hogehoge
$ cat << EOF > __init__.py
def hello():
    print "hello, PyPI!"
EOF
$ cd ..

ディレクトリ構造は以下のようになります。

$ tree
.
│
├── hogehoge
│   └── __init__.py
└── setup.py

パッケージを登録する

$ python setup.py register sdist bdist_egg upload

とやれば登録できます。が、私の場合はここではまりました。何回やっても

RuntimeError: maximum recursion depth exceeded

となるだけで先に進めませんでした…。

この理由はメールアドレスが正しく登録されていなかったことです。ログアウトした状態でPyPIの[Lost Login?]から確認メールを再度送ってもらい、そのメールから手続きすることで登録できるようになりました。

テストする

http://pypi.python.org/pypi/hogehogeにアクセスして自分のパッケージのページが作成されていることを確認します。また

$ easy_install hogehoge

として自分の作ったhogehogeパッケージをインストールしてみます。正しくインストールできれば、以下のようにパッケージをインポートできるはずです。

>>> import hogehoge
>>> hogehoge.hello()
hello, PyPI!

パッケージを削除する

PyPIへの登録方法が分かったら、hogehogeパッケージを削除しておきます。PyPIのサイト上でログインして削除を行って下さい。