Pythonでパッケージを作って、PyPIに登録した時の作業メモ
なお、今回はコマンドラインツールを作りました
PyPIに登録することによってpip
でインストール出来るようになります
ディレクトリ構成
├── README.md
├── requirements.txt
├── setup.py
└── src
├── __init__.py
└── hoge.py
ファイル詳細
-
requirements.txt、src/init.py
touch
で作った空ファイルです -
README.md
github用
-
src/hoge.py
実装したパッケージのソースコード
今回はコマンドラインツールなので、main
関数に実行する処理を記述しておきました -
setup.py
パッケージを登録する際に必要な情報を記載します
setup.py# -*- encoding:utf-8 -*- from setuptools import setup, find_packages setup( name='pass-manager', version='1.0.0', author='petitviolet', author_email='hoge@gmail.com', packages=find_packages(), install_requires=[], description = 'CLI tool', long_description = 'Simple CLI tool', url = 'https://example.com/', license = 'MIT', # scripts = ['src/hoge.py'], platforms = ['Mac OS X'], # platforms = ['POSIX', 'Windows', 'Mac OS X'], entry_points={ 'console_scripts': 'hoge = src.hoge:main' }, zip_safe=False, classifiers=[ 'Environment :: Console', 'Intended Audience :: Developers', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Topic :: Utilities' ] )
classfiers
やlicense
はhttps://pypi.python.org/pypi?:action=list_classifiersを見て入力すると良いと思います。
登録作業
# setup.pyのチェック
$ python setup.py check
# -> "running check"と出力される
$ python setup.py register
running register
...
We need to know who you are, so please choose either:
1. use your existing login,
2. register as a new user,
3. have the server generate a new password for you (and email it to you), or
4. quit
Your selection [default 1]:
これで2
を選択して、usernameやpasswordを登録して下さい
実際にユーザーアカウントが作成されます
なお、passwordはちゃんとした強度がないと怒られてしまいます
python setup.py register sdist bdist bdist_egg upload
これでPyPIにソースとバイナリとeggをアップロードすることが出来ます。
アップロードしたパッケージには http://pypi.python.org/pypi/"PKG-NAME" でアクセス出来るようになります
パッケージの情報(setup.pyに記載した内容)はPyPIのパッケージのページからも編集できるようになっています