3

Windowsに2.7.3と3.3の2つのバージョンのpythonがインストールされています。私のスクリプトの一部は 2.x で、一部は 3.x です。これらのスクリプトをコマンド ラインから実行して、適切なインタープリターに転送する簡単な方法はありますか?

4

3 に答える 3

9

注: Windows の場合、 Unix シェル シバンを認識する新しい Windows Python ランチャー ( Python 3.3で利用可能で、以前のリリースではここからダウンロード可能) を使用します。ここでそれについて読むことができます。

ほとんどの Linux ディストリビューションは、インストールされているPython 2.xおよびPython 3.xインタープリターのエイリアスを作成python2します(そうでない場合は、シンボリック リンクを自分で作成して、シンボリック リンクを見つけます)。適切なインタープリターをスクリプトの最初の行として設定するには:python3$PATHenv

#!/usr/bin/env python2

また

#!/usr/bin/env python3

これにより、スクリプトファイルを実行可能に設定し、シェルで直接呼び出すだけで、適切なインタープリターを使用するようにシェルに指示されます。例えば:

$ chmod +x script.py
$ ./script.py
于 2012-09-30T21:06:56.497 に答える
2

最初にこれを試してください: 私は OS X を使用していますが、Python 2.7 の代わりに Python 2.6 を使用したい場合 (これは numpy/scipy です)、単純に python2.6 を実行します。まずそれを試してください。

それが機能しない場合は、virtualenv (Python の仮想環境ビルダー) を使用できます。

http://pypi.python.org/pypi/virtualenv

同様の代替手段もあると確信しています。

于 2012-09-30T21:06:25.853 に答える
1

Pedro Romano の答えは、これを行う最もエレガントな方法です。

ただし、Python ランチャーをダウンロードしてインストールしたくない場合は、以下で説明するようにバッチ ファイルを作成します。ショートカットを作成して、C:\Python27\python.exe を C:\Python27\python27.exe にコピーすることもできます。

C:\Python27 と C:\Python33 は既にシステム パスにあると思います。その場合、C:\Python27\ に python2.7.bat という名前のバッチ ファイルを作成できます。

C:\Python27\python.exe %1

C:\Python33\ にある同様のファイル (例: python3.3.bat)

python2.7 script.pyこれで、コマンドプロンプトのどこからでも実行でき、動作するはずです:)

于 2012-09-30T21:36:33.543 に答える