[解決済み】Pythonパッケージにバージョンを埋め込む標準的な方法?
質問
Pythonのパッケージとバージョン文字列を関連付ける標準的な方法はありますか?
import foo
print(foo.version)
マイナー/メジャー文字列が
setup.py
はすでにある。私が見つけた別の解決策は
import __version__
の中に
foo/__init__.py
を作成し、さらに
__version__.py
によって生成されます。
setup.py
.
解決方法は?
ご質問に対する直接の回答ではありませんが、ネーミングを検討する必要があります
__version__
ではなく
version
.
これは、ほぼ準標準と言えるでしょう。標準ライブラリの多くのモジュールでは
__version__
で使用され、これは
たくさん
サードパーティモジュールの準標準となっています。
通常は
__version__
は文字列ですが、floatやtupleの場合もあります。
編集:S.Lottさんのおっしゃるとおり(ありがとうございます!)。 PEP 8 には、明確に書かれています。
モジュールレベルのダンダー名
モジュール・レベルのquot;dunders" (つまり、先頭と末尾に2つずつ名前があるもの)は、quot;dunders" と呼ばれます。 のようなアンダースコアを使用します。
__all__
,__author__
,__version__
などがあります。 は、モジュールのdocstringの後、importの前に置く必要があります。 ステートメントを使用します。__future__
をインポートします。
また、バージョン番号は、以下の書式に準拠していることを確認してください。 PEP 440 ( PEP 386 は、この規格の前バージョン)。
関連
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] virtualenvで異なるバージョンのPythonを使用する
-
[解決済み] スクリプトを実行しているPythonのバージョンを確認するにはどうしたらいいですか?
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] pipでどのバージョンのパッケージがインストールされているかを調べる
-
[解決済み] PythonモジュールとPythonパッケージの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
python string splicing.join()とsplitting.split()の説明
-
PythonはWordの読み書きの変更操作を実装している
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] setup.py (setuptools) で定義されているバージョンをパッケージに取り込むにはどうしたらいいですか?