実行可能なすべての Python スクリプトの先頭に、次のようなシバン行を追加しました。
#!/usr/bin/env python
env python
Python 2.2 環境を生成するシステムでこれらのスクリプトを実行しています。互換性のある Python バージョンを手動でチェックしているため、スクリプトはすぐに失敗します。
if sys.version_info < (2, 4):
raise ImportError("Cannot run with Python version < 2.4")
可能であれば、実行可能ファイルごとにシバン行を変更する必要はありません。ただし、結果を変更するためのマシンへの管理アクセス権がなく、次のenv python
ように特定のバージョンを強制したくありません。
#!/usr/bin/env python2.4
システムに Python 2.4 よりも新しいバージョンがあるか、Python 2.5 はあるが Python 2.4 がない可能性があるため、これは避けたいと思います。
エレガントなソリューションは何ですか?
[編集:] 私は質問を提起する際に十分に具体的ではありませんでした -- ユーザーが手動で構成せずにスクリプトを実行できるようにしたいと思います (たとえば、パスの変更またはシンボリックリンクを作成し~/bin
、PATH が~/bin
Python 2.2 パスの前にあることを確認します)。手動での微調整を防ぐために、何らかの配布ユーティリティが必要になるのでしょうか?