3

私は本質的にモジュール式の Python パッケージの作成に取り組んでいます。

setup.py単純なドキュメント パーサーのパッケージを以下に示します。

setup(
    name = 'my_document_parser',
    ...
    entry_points = {
        'my_document_parser.parsers': [
            'markdown = my_document_parser.parsers.misaka:Parser [misaka]',
            'textile = my_document_parser.parsers.textile:Parser [textile]'
        ]
    },
    install_requires = [
        'some_required_package'
    ],
    extras_require = {
        'misaka' = ['misaka'],
        'textile' = ['textile']
    },
    ...
)

次のようなものを利用できるようにしたいと思います。

  • デフォルトのインストール
    • python setup.py installまたpip install my_document_parser
    • my_document_parsersome_required_package、をインストールmisaka
  • ベアインストール
    • 何かのようなものpython setup.py install --bare
    • インストールmy_document_parser,some_required_package
  • 他の依存関係を有効にする方法
    • 何かのようなものpython setup.py install --bare --with-textile
    • my_document_parsersome_required_package、をインストールtextile

開発者の観点から Python パッケージをいじるのはこれが初めてなので、間違った方法で物事を進めている場合など、誰かが提供しなければならないものは何でも受け入れます。

ありがとう。

4

1 に答える 1

0

install_requiresデフォルトのインストールでは、 andセクションのすべてがインストールされますpackages。以下のパッケージextras_requireは、setup.py スクリプトによってインストールされることはありません。この種のインストール用のロジックを作成する場合のみ。

デフォルトでは、「セットアップ呼び出しのこれらのセクションを使用してインストールする」と明示的に言う方法はありませんsetuptoolsdistutils自分で実装する必要があります。

pipsetup.py にパラメータを使用せずに--single -version-externally-managedを使用して常にパッケージをインストールsetuptoolsし、ファイルを作成しないように指示し.eggます。


結論: pip を使用してパッケージをインストールしてもらいたい場合は、 と を忘れ--bareてください--with-textile。あなたができる最善の方法は、misakatextileを依存関係として含む完全なインストールです。

The Hitchhiker's Guide To Packaging、特にCreation a Packageセクションとsetuptool の仕様を読む必要があるかもしれません。

于 2011-11-29T00:34:35.123 に答える