2011-11-13 13 views
4

私はPythonスクリプトの中で、実行するPythonのバージョン(#!/ usr/bin/env python3.2)をUNIXのボックスに伝える方法を知っていますが、窓。 distutilsを使ってpython2.7と3.2の両方がインストールされたウィンドウボックスにプログラムをデプロイします。私はそれを強制的に使用する必要があります2.7ウィンドウ内にPythonバージョンを強制する

ありがとう!

答えて

4

シバン(#!)のUNIXであっても、実行するバージョンはで、は強制されません。プログラムが直接実行されず(./my.py)、代わりにpython2 my.pyのように実行される場合、Python 2は引き続き使用されます。私が最も安全な方法をお勧めし

は、たとえば、スクリプトの先頭でバージョンを確認し、それが適切でない場合はエラーメッセージを表示して救済することです:バージョンチェック文の

if sys.version_info[:3] < (3,2,0): 
    print('requires Python >= 3.2.0') 
    sys.exit(1) 
+0

感謝。私はすべてのスクリプトでそれを使用します。このプログラムのために、私はdistutilsを使って配布しています。ユーザーはそれを実行するためにクリックするだけです。この方法で実行すると、どうすれば適切なバージョンのlauchにすることができますか? @ LanceCollins。 –

+1

問題ない。私は窓の上に何か注意を払ったので、それは長い間続いていたのではないかと心配しています。おそらくより洗練された解決策があり、うまくいけば誰かがそれを思いついてくれるはずですが、簡単に思いつく簡単な方法は、単純に 'path_to_python2 my.py'と呼ばれる簡単な' .bat'でプログラムを出荷することです。事前に 'path_to_python2'を知る必要があります。 http://stackoverflow.com/questions/341184/can-i-install-python-3-x-and-2-x-on-the-same-computerを見てください。いくつかの考え方が可能です助けます。 – tjm

+2

3.2バイナリの場所を見つけるためのコードを追加することもできます(レジストリを参照してください)。 –

関連する問題