2

Windows に Python 2.7.1 と 2.6.5 の両方のバージョンをインストールしました。環境変数に Python 2.6.5 のパスのみを追加しました。x.pyここで、 Python 2.6.5 を使用して Python スクリプトを実行したいと考えています。を使用して行う方法は知っていますが、IDLEで開き、オプションcmdを使用してその中で実行する方が便利です。Run Moduleこれは、スクリプトを右クリックしてEdit with IDLEオプションに移動することで行われると思われますが、これにより Python 2.7.1 を使用してスクリプトが開き、実行されます。Python 2.6.5 で開いて実行する方法はありますか?

4

2 に答える 2

4

レジストリの標準コマンドEdit with IDLEは次のとおりです。

"C:\Program Files\Python33\pythonw.exe" "C:\Program Files\Python33\Lib\idlelib\idle.pyw" -e "%1"

ご覧のとおり、パスはハードコードされているため、少なくともデフォルトでは、そのような別の Python インタープリターを使用することはできません。

ただし、PEP 397では Python 用の新しい Python ランチャーが導入され、シェバン行に基づいて異なるバージョンの Python を起動できるようになりました。したがって、で始まるファイル#!/usr/bin/env python2は現在の Python 2 インタープリターを起動し、一方で#!/usr/bin/env python3Python 3 を使用します。

その情報を使用して、特定の Python バージョンの IDLE を動的に起動できます。たとえば、これはランチャーのデフォルトの Python バージョンを使用してファイルを編集します。

 C:\Windows\pyw.exe -m idlelib.idle -e "%1"

これにより、Python 3 の使用が強制されます。

 C:\Windows\pyw.exe -3 -m idlelib.idle -e "%1"

これにより、Python 2 の使用が強制されます。

 C:\Windows\pyw.exe -2 -m idlelib.idle -e "%1"

つまり、シバン行を手動で解析することによって、ファイルがどのPython バージョンで実行されるかを基本的にチェックするスクリプトを作成する必要があります(残念ながら、ランチャーは、実際にスクリプトを起動しない限り、この情報を提供しません。そのような機能をコアに入れるためにプルリクエストを開始するかもしれません)。次に、上記のコマンドを使用して Python 2 または Python 3 IDLE を実行し、完了します。

コマンドを変更しEdit with IDLEてスクリプトを実行するだけで機能します。

非常に簡単な代替手段は、Python 2 IDLE を起動する別のレジストリ キーを追加することです。だからあなたはEdit with IDLEandEdit with IDLE (Py2)または何かを持っているでしょう。

これを行うには、次を.regファイル内に配置して実行します。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Python.File\shell\Edit with IDLE (Py2)]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Python.File\shell\Edit with IDLE (Py2)\command]
@="C:\\Windows\\pyw.exe -2 -m idlelib.idle -e \"%1\""

編集:私はこれを主に Python 2 と Python 3 について書いたことに気付きました。ランチャーには Python 2.7 が同梱されていると思いますので、これはまったく同じように機能します。-2.6ランチャーのバージョン固有のものを必要に応じて調整するだけ-2.7です。

于 2013-03-11T16:26:12.673 に答える
1

IDLE 2.6 をデフォルト (2.7 ではなく) にするためにいくつかのレジストリ ハックを使用してこれを行うことができますが、2.7 で何かをテストしたい場合はプロセスを逆にする必要があるため、それは実際には望んでいないと思います。他の誰かが異なる IDLE インストールをシェルに統合する他の方法を知っていない限り、ここにいくつかのより良いオプションがあります:

  1. 最初に IDLE 2.6 を開き、GUI から [ファイルを開く] ダイアログを使用します。

  2. この機能を実際にサポートする別の IDE を使用してください。PyDevを使用したEclipseでは、実行間でインタープリターを切り替えたり、異なるインタープリターで構成を保存したりできます。

于 2013-03-11T16:06:32.647 に答える