Windowsに2.7.3と3.3の2つのバージョンのpythonがインストールされています。私のスクリプトの一部は 2.x で、一部は 3.x です。これらのスクリプトをコマンド ラインから実行して、適切なインタープリターに転送する簡単な方法はありますか?
3 に答える
注: Windows の場合、 Unix シェル シバンを認識する新しい Windows Python ランチャー ( Python 3.3で利用可能で、以前のリリースではここからダウンロード可能) を使用します。ここでそれについて読むことができます。
ほとんどの Linux ディストリビューションは、インストールされているPython 2.xおよびPython 3.xインタープリターのエイリアスを作成python2
します(そうでない場合は、シンボリック リンクを自分で作成して、シンボリック リンクを見つけます)。適切なインタープリターをスクリプトの最初の行として設定するには:python3
$PATH
env
#!/usr/bin/env python2
また
#!/usr/bin/env python3
これにより、スクリプトファイルを実行可能に設定し、シェルで直接呼び出すだけで、適切なインタープリターを使用するようにシェルに指示されます。例えば:
$ chmod +x script.py
$ ./script.py
最初にこれを試してください: 私は OS X を使用していますが、Python 2.7 の代わりに Python 2.6 を使用したい場合 (これは numpy/scipy です)、単純に python2.6 を実行します。まずそれを試してください。
それが機能しない場合は、virtualenv (Python の仮想環境ビルダー) を使用できます。
http://pypi.python.org/pypi/virtualenv
同様の代替手段もあると確信しています。
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
これで、コマンドプロンプトのどこからでも実行でき、動作するはずです:)