多くのサードパーティのPythonモジュールには、モジュールのバージョン情報(通常はやmodule.__version__
など)を保持する属性がありますが、そうでないものもあります。実行時にPythonモジュールのバージョンを確認する
このようなモジュールの特定の例は、libxsltおよびlibxml2です。
これらのモジュールの正しいバージョンが実行時に使用されていることを確認する必要があります。これを行う方法はありますか?
潜在的な解決策は、実行時にソースで読み込み、ハッシュし、それを既知のバージョンのハッシュと比較することですが、それは厄介です。
もっと良い解決策はありますか?
また、パッケージ名はPyPIエントリのものでなければなりません。 "pkg_resources.get_distribution( 'MySQLdb')。version"は動作しませんが、 "pkg_resources.get_distribution( 'mysql-python')。version"が実行されます。 – Rahul
絶対ファイル名で実行している場合、 'pkg_resources'は' PYTHONPATH'などの優先順位が高いため、実際に実行しているバージョンと異なるバージョンを選択する可能性があります。 – tripleee
誰かが '__version__'属性を作る方法を知りたいと思っている人のために:http://stackoverflow.com/q/17583443/562769 –