21

Python のドキュメント ( http://www.python.org/dev/peps/pep-0396/ ) を読んだ後__version__、パッケージの属性を適切に設定する方法について、以前よりも混乱しました。それらをファイルに入れるように言われていsetup.pyますが、これは私を混乱させますmy_package.__version__.

別のファイルから version 属性をインポートすることになりました。

だから私の「バージョン」ファイルは通常

my_package/
    __init__.py
    my_module1/
        ...
    my_module2/
        ...
    my_module3/
        ...
    info/
        __init__.py
        version.py
            __version__ = '0.1.0'

最上部では、次の属性__init__.pyをインポートします。__version__info.version

import __version__

経由でバージョン番号を取得できるように

my_package.__version__

これが「大丈夫」なアプローチであるかどうか、そして何かがこのようにすることに反対するかどうか疑問に思っていますか? ご意見やご提案をお待ちしております!

4

2 に答える 2

1

バージョン番号を setup.py に取得する方法については言及していませんが、通常のimport my_package方法でインポートしようとしないでください。setup.py を実行しても、パッケージはインストールされていません。

私の通常のアプローチは、setup.py でバージョン番号を定義し、バージョン番号が変更されたときに setup.py にパッケージの最上位__init__.pyファイルを (再) 生成させることです。__init__.pyファイルに他のコードが含まれていない場合、これは簡単に実行できます。

于 2015-01-07T20:26:00.967 に答える