最近、Windows 7(Anaconda 3-2.4.0-Windows-x86_64)にAnacondaディストリビューションをインストールしました。 IDLEとは異なり、Spyder IDEでpyファイルを右クリックして開くことはできません。最初にSpyderを開いてから、ファイルに移動するか、エディターでドラッグアンドドロップする必要があります。 Widows Explorerから直接エディターでファイルを開く方法はありますか?
Anacondaの現在のバージョン(4.1.0)では、Windowsファイルエクスプローラーでpythonスクリプトを右クリックし、[アプリケーションから開く]を選択できます。これを初めて行う場合は、 「デフォルトのプログラムを選択する」を選択し、AnacondaインストールのScriptディレクトリにあるspyder.exeを参照します。また、「選択したプログラムを常に使用してこの種類のファイルを開く」のチェックが外されていることを確認し、[OK]をクリックします。 Windowsファイルエクスプローラーの右クリックメニューから[アプリケーションから開く]を選択すると、spyder.exeは常にオプションの1つとしてリストされます。
私が使用している別のソフトウェアで同様の問題が発生しました。
この問題を回避するには、Open withダイアログを使用して、.pyファイルのファイルの関連付けをC:\Anaconda\Scripts\spider-script.py
に設定します。ダブルクリックしてFile.py
を開こうとすると、次のようなエラーが表示されます
〜\ file.pyは有効なWin32アプリケーションではありません。
これは、spyder-script.py
レジストリキーを編集することで解決できます。
HKEY_USERS\S-1-5-21-3559708500-1520960832-86631148-1002\Software\Classes\Applications\spyder-script.py\Shell\open\command
デフォルト値"C:\Anaconda\Scripts\spyder-script.py" %1
を"C:\Anaconda\python.exe" "C:\Anaconda\Scripts\spyder-script.py" %1
に置き換えます。パスがマシンのパスと異なる場合、このキーの検索機能を使用します。もちろん、pythonインストールに適切なパスを使用してください。spyder-script.py
は、 python Shell。
Ftypeのdocstringから、
...開いているコマンド文字列内で、%0または%1は、関連付けによって起動されるファイル名に置き換えられます。
現在、Anacondaを使用している場合、WindowsファイルエクスプローラーからSpyderでファイルを開く方法はありません。ただし、将来のバージョンでこの機能を使用できるよう取り組んでいます。
エクスプローラでファイルをマウスで右クリックすると表示されるOpen withメニューにエントリを追加することで機能します。
Windows(10)で非常にうまく機能しているのは、次の行を含む*.py
ファイルをバッチファイル(たとえば "SpyderBATCH.bat")に関連付けることです。
[ANACONDA_FOLDER_PATH]\pythonw.exe" "[ANACONDA_FOLDER_PATH]\cwp.py" "[ANACONDA_FOLDER_PATH]" "[ANACONDA_FOLDER_PATH]/pythonw.exe" "[ANACONDA_FOLDER_PATH]/Scripts/spyder-script.py" %1
[ANACONDA_FOLDER_PATH]
は、Anacondaフォルダーへのフルパスに置き換える必要があります(通常は「Program Files」の下)。
Windowsがpythonスクリプト( "file.py"と言います)]をダブルクリックすると、パラメーター番号%1
としてSpyderBATCHに渡され、フルパスが " file.py」。
次に、Spyderが起動し、エディタービューにスクリプト「file.py」が表示されます。
Condaのインストールでspyder.exeを見つけることができませんでした。しかし、私のusers/.anaconda/navigator/scriptsで、spyder.batファイルを見つけました。これを使用してファイルを開くと、アナコンダプロンプトが開き、スパイダーがファイルを開くとすぐに開きます。ファイルのアイコンは壊れていますが、私にとってはうまくいきます。これが役立つことを願っています。