私はPipに公開するためのSphinxのドキュメントとdistutilsを持つPythonプロジェクトを持っています。Pythonプロジェクトの一貫したバージョン管理
これらの機能の両方が自動的にバージョン番号を必要とする様々なユーティリティにわたって一貫バージョン番号を維持するためのベストプラクティスはあるバージョン(例えば、0.4b3)
が必要?
ボーナスとして、gitと統合するものは何ですか(タグなど)?
私はPipに公開するためのSphinxのドキュメントとdistutilsを持つPythonプロジェクトを持っています。Pythonプロジェクトの一貫したバージョン管理
これらの機能の両方が自動的にバージョン番号を必要とする様々なユーティリティにわたって一貫バージョン番号を維持するためのベストプラクティスはあるバージョン(例えば、0.4b3)
が必要?
ボーナスとして、gitと統合するものは何ですか(タグなど)?
これはテストされていない回答ですが、これはconf.py
スクリプトのスフィンクスでは非常に簡単だと思います。このスクリプトは単なるPythonのであるとして、あなたはこのような何か行うことができます:当然
import subprocess
...
path_to_source = "../src"
release = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=path_to_source)
version = subprocess.check_output(["git", "describe", "--tags", "HEAD"], cwd=path_to_source)
を、あなたがそれを望むようにそれらを取得するには、コマンドの出力にいくつかの文字列処理をしたいかもしれない、といくつかのエラーをチェックし、基本的なアイデアは成立するはずです。
私が言うように、私はこれをテストしていないので、私は完全に間違っている可能性があるので、あなたはこのアイデアに問題があるかどうか教えてください。
スニペットをありがとう、しかし明確にするために、私は自分自身を転がそうとするのではなく、すでに使用されている方法を探していました。 – muckabout
これはPythonのdistutilsメーリングリストで好きな質問です。あなたは、あなたのモジュールをsetup.pyからインポートすることも、conf.pyとgetモジュールからインポートすることもできます。 バージョン。これは、あなたのインポート、2to3や他の要素の使用に応じて動作しないかもしれません。その場合、あなたのバージョンをテキストファイルに移動し、あなたのモジュールsetup.pyとconf.pyから開くことができます。
個人的には、バージョン番号を3か所で更新しても大した負担はありません。これは、リリースプロセスのマイナーなステップです。
このトピックは、プログラマーズ・スタック・エクスチェンジ・コムに移行することができます。 –