Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What is going on with this article?

More than 5 years have passed since last update.

@petitviolet

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

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

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

12
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
12
Help us understand the problem. What is going on with this article?