新しいバージョンをダウンロードするかどうかを決定するために2つのバージョン文字列を比較する必要があるbashスクリプトを作成しました。テストは、Pythonのスクリプトを使用して行われます。apt.VersionCompare()
このスクリプトは、バージョン比較を行いますapt
。
#!/usr/bin/env python
import sys, apt
res = apt.VersionCompare(sys.argv[1], sys.argv[2])
if res < 0:
sys.exit(-1)
if res > 0:
sys.exit(1)
sys.exit(0)
Ubuntu 14.4にアップグレードすると、これは機能しなくなりました。
次のように/programming/4957514/に従ってスクリプトを変更しようとしました:
#!/usr/bin/env python
import sys, apt_pkg
res = apt_pkg.version_compare(sys.argv[1], sys.argv[2])
if res < 0:
sys.exit(-1)
if res > 0:
sys.exit(1)
sys.exit(0)
しかし、これは私に与えます ValueError: _system not initialized
。解決する方法、またはそうするようにバージョンを比較するより良い方法はありapt
ますか?
import apt
インポートする前に、インタラクティブプロンプトでを実行しましたapt_pkg
か?これは、モジュールも初期化するため、説明になります。