petitviolet blog

    パッケージを作成し、PyPIに登録したメモ

    2014-04-21

    QiitaPython

    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 パッケージを登録する際に必要な情報を記載します

      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'
      ]
      )
      

      classfierslicensehttps://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 のパッケージのページからも編集できるようになっています

    from: https://qiita.com/petitviolet/items/631f57566428494894fd