web-dev-qa-db-ja.com

「Anacondaプロンプトをここで開く」をコンテキストメニューに追加する(Windows)

コンテキストメニュー(Windows 7および10)にオプションを追加して、フォルダーを右クリックしたときにファイルの場所にAnacondaプロンプトを開きたいのですが、正しいレジストリキーがわかりません。

方法を知っているのは次のとおりです。

  • フォルダーの場所で通常のコマンドウィンドウを開くコンテキストメニューに項目を追加します
  • CmdからAnacondaプロンプトを開きます(「activate.bat」ファイルを実行します)

私が理解できないのは、これらの手順を単一のレジストリキーに組み合わせてAnacondaプロンプトを開き、そのプロンプトで現在のフォルダーにcdする方法です。しかし、多分私はこれに間違った方法でアプローチしています。

インターネットの達人からの助けに感謝します。

12
jrinker

最近のAnacondaバージョン(私はconda 4.5.5)動作とAnacondaプロンプトへのショートカットが変更されたため、新しい手順は、実際には bdforbes で説明されているよりも少し簡単です。

フォルダ内でAnacondaプロンプトを起動する新しい方法は次のとおりです。

cmd.exe /K %%USERPROFILE%%\AppData\Local\Continuum\Anaconda3\Scripts\activate.bat

pushdは現在のディレクトリを変更します、%Vは現在のディレクトリであり、/Kはコマンドを実行することです。

変更されたcwp2.pyはもう必要ありません。次の内容を.batファイルに入れ、管理者として実行して、必要なキーをレジストリに追加します(コメントの Gist 投稿者 Thibaud Ruelle の修正バージョン)他の答えへ)

REG ADD HKCR\Directory\Background\Shell\Anaconda\ /ve /f /d "Anaconda Prompt Here"
REG ADD HKCR\Directory\Background\Shell\Anaconda\ /v Icon /f /t REG_EXPAND_SZ /d %%USERPROFILE%%\\Anaconda3\\Menu\\Iconleak-Atrous-Console.ico
REG ADD HKCR\Directory\Background\Shell\Anaconda\command /f /ve /t REG_EXPAND_SZ /d "%windir%\System32\cmd.exe pushd "%V" "/K" %%USERPROFILE%%\Anaconda3\Scripts\activate.bat %%USERPROFILE%%\Anaconda3"
REG ADD HKCR\Directory\Shell\Anaconda\ /ve /f /d "Anaconda Prompt Here"
REG ADD HKCR\Directory\Shell\Anaconda\ /v Icon /f /t REG_EXPAND_SZ /d %%USERPROFILE%%\\Anaconda3\\Menu\\Iconleak-Atrous-Console.ico
REG ADD HKCR\Directory\Shell\Anaconda\command /f /ve /t REG_EXPAND_SZ /d "%windir%\System32\cmd.exe pushd "%V" "/K" %%USERPROFILE%%\Anaconda3\Scripts\activate.bat %%USERPROFILE%%\Anaconda3"
8
Filip S.

[〜#〜] update [〜#〜]Filip S.による回答 は、より新しいバージョンでより適切に動作する可能性がありますアナコンダの。

ANOTHER UPDATE:ドライブルートでこのランチャーを使用する際の問題を修正しました(例:C:\またはD:\)。非常にマイナーです。レジストリエントリに空白が追加され(関連部分:"%V ")、末尾のバックスラッシュによってWindowsが混乱しないようになっています。

元の投稿

この機能も欲しかったので、作りました。主な手順の概要を以下で説明します。

解決

警告:レジストリの編集に慣れており、非本番システムを使用している場合を除き、先に進まないでください。そして明らかに、私があなたに言うすべてを実行しないでください。あなたは私を知らない!

1.作業ディレクトリを設定するAnacondaスクリプトを変更します

Anacondaスクリプトcwp.py(私のものはC:\Users\bdforbes\Anaconda3\にありました)を見つけて、同じディレクトリのcwp2.pyにコピーします。

cwp2.pyを変更して、2番目の引数としてターゲットパスを受け入れ、そのディレクトリに変更します。

prefix = sys.argv[1]
cwd = sys.argv[2]
args = sys.argv[3:]

... (PATH setting code)

(REMOVE OLD LOGIC THAT CALLED os.chdir)

os.chdir(cwd)
sys.exit(subprocess.call(args, env=env))

完全なコードはこちら: https://Gist.github.com/bdforbes/9ef59cd01c22acefc20c5c92bd9550ae

2.レジストリキーを追加する

レジストリで、HKEY_CLASSES_ROOT\Directory\Background\Shell\に移動し、デフォルト値が「Open Anaconda Prompt Here」のキーAnacondaを追加し、サブキーcommandを次のデフォルト値で追加します。

C:\Users\bdforbes\Anaconda3\pythonw.exe C:\Users\bdforbes\Anaconda3\cwp2.py C:\Users\bdforbes\Anaconda3 "%V " cmd.exe "/K" C:\Users\bdforbes\Anaconda3\Scripts\activate.bat C:\Users\bdforbes\Anaconda3

同じエントリをHKEY_CLASSES_ROOT\Directory\Shell\に追加します。

.regファイル を追加しました。置換bdforbesを検索し、Windowsアカウント名に置き換えるだけです。 最初にチェックせずに.regファイルを実行しないでください!

enter image description hereenter image description here

3.派手な新しいコンテキストメニュー項目を使用する

フォルダーを右クリックします。そこに新しいエントリが表示され、新しいAnacondaプロンプトを開くことができます。

enter image description here

5
bdforbes