当我打开Jupyter笔记本(以前是IPython)时,它默认为c:\ users \ username

我如何将其更改为另一个位置?


当前回答

当从命令行启动时,IPython Notebook将使用您的当前工作目录。我利用了这一点,创建了上下文菜单项,直接从Windows资源管理器打开它。不需要快捷方式或批处理脚本!

我的灵感来自于Git for Windows创建的基于注册表的“Git GUI Here/Git Bash Here”条目。这个页面(链接了存档版本)有助于定位正确的键。

第一对是没有任何选择的上下文菜单(例如目录背景)。笔记本将以当前目录作为工作目录打开。

Key: HKCR\Directory\Background\shell\ipythonnb
Value: &IPython Notebook Here

Key: HKCR\Directory\Background\shell\ipythonnb\command
Value: "<full path to IPython notebook>" "%v"

这一对用于单击文件夹时显示的上下文菜单。笔记本将以所选文件夹作为工作目录打开。

Key: HKCR\Directory\shell\ipythonnb
Value: &IPython Notebook Here

Key: HKCR\Directory\shell\ipythonnb\command
Value: "<full path to IPython notebook>" "%1"

注意%v vs %1参数,否则它将不起作用。也不要忘记引用。在我的平台上,IPython Notebook的完整路径是C:\WinPython-32bit-2.7.6.4\IPython Notebook.exe,但这个值显然取决于您的安装。

编辑:AFAICT完整路径是必需的,即使可执行文件在系统路径上。

其他回答

对上面的Windows技巧的一个更简单的修改-不需要硬编码目录。

A)创建一个包含以下内容的批处理文件: 注意:批处理文件是一个简单的文本文件,其中包含可以执行的命令 在CMD窗口中运行。它必须有一个'.bat'扩展名,因此… 你需要禁用隐藏已知类型扩展名的文件夹设置)

rem -- start_ipython_notebook_here.bat ---
dir
ipython notebook 
pause

B)复制并粘贴批处理文件到任何你想要启动笔记本服务器的文件夹。

(确保它是一个你有权限编辑的文件夹。“C:\”不是一个好的选择。)

C)在Windows资源管理器中双击批处理文件。

笔记本服务器应该像往常一样启动。

当从命令行启动时,IPython Notebook将使用您的当前工作目录。我利用了这一点,创建了上下文菜单项,直接从Windows资源管理器打开它。不需要快捷方式或批处理脚本!

我的灵感来自于Git for Windows创建的基于注册表的“Git GUI Here/Git Bash Here”条目。这个页面(链接了存档版本)有助于定位正确的键。

第一对是没有任何选择的上下文菜单(例如目录背景)。笔记本将以当前目录作为工作目录打开。

Key: HKCR\Directory\Background\shell\ipythonnb
Value: &IPython Notebook Here

Key: HKCR\Directory\Background\shell\ipythonnb\command
Value: "<full path to IPython notebook>" "%v"

这一对用于单击文件夹时显示的上下文菜单。笔记本将以所选文件夹作为工作目录打开。

Key: HKCR\Directory\shell\ipythonnb
Value: &IPython Notebook Here

Key: HKCR\Directory\shell\ipythonnb\command
Value: "<full path to IPython notebook>" "%1"

注意%v vs %1参数,否则它将不起作用。也不要忘记引用。在我的平台上,IPython Notebook的完整路径是C:\WinPython-32bit-2.7.6.4\IPython Notebook.exe,但这个值显然取决于您的安装。

编辑:AFAICT完整路径是必需的,即使可执行文件在系统路径上。

正如MrFancypants在评论中提到的,如果你正在使用Jupyter(你应该这样做,因为它目前取代了旧的IPython Notebook项目),事情就有点不同了。首先,已经没有档案了。

安装Jupyter后,首先检查~/。Jupyter文件夹查看其内容。如果没有配置文件从默认的IPython配置文件迁移(在我的情况下没有),为Jupyter Notebook创建一个新的配置文件:

jupyter notebook --generate-config

这会生成~/.jupyter/jupyter_notebook_config.py文件,其中包含一些有用的注释可能的选项。设置默认目录add。

c.NotebookApp.notebook_dir = u'/absolute/path/to/notebook/directory'

当我在Linux和OS X之间切换时,我想使用一个相对于我的主文件夹的路径(因为它们不同- /Users/username和/home/username),所以我设置了如下内容:

import os
c.NotebookApp.notebook_dir = os.path.expanduser('~/Dropbox/dev/notebook')

现在,每当我运行jupyter笔记本,它打开我想要的笔记本文件夹。我还对整个~/进行了版本化。jupyter文件夹在我的dotfiles存储库,我部署到每一个新的工作机器。


顺便说一句,您仍然可以使用——notebook-dir命令行选项,因此可能一个简单的别名更适合您的需要。

jupyter notebook --notebook-dir=/absolute/path/to/notebook/directory

Jupyter笔记本——help-all可能会有帮助:

--notebook-dir=<Unicode> (NotebookManager.notebook_dir)
    Default: u'/Users/me/ipynbs'
    The directory to use for notebooks.

例如:

jupyter notebook --notebook-dir=/Users/yourname/folder1/folder2/

如果需要,你当然可以在你的配置文件中设置它,你可能需要在Windows中转义反斜杠。

注意,这将覆盖您在jupyter_notebook_config.py文件中设置的任何路径。(在这里你可以设置一个变量c.NotebookApp。Notebook_dir将是您的默认启动位置。)

您还可以使用AutoHotKey与一个简单的脚本打开一个Jupyter笔记本服务器的默认目录(CTRL+I)或在资源管理器高亮显示的路径(或其他地方与CTRL+SHIFT+I)。

#SingleInstance Force
#NoTrayIcon

SetTitleMatchMode RegEx

; Press CTRL+ALT+I in a Windows Explorer window to launch a IPython notebook server in the current folder.
^+!i::
; Get the current path.
Send ^l
; Backup the current clipboard.
ClipSaved := ClipboardAll
; Copy and save the current path.
Send ^c
ClipWait
x = %Clipboard%
; Restore the clipboard.
Clipboard := ClipSaved
ClipSaved = ; Free the memory in case the clipboard was very large.
; Now, run the IPython notebook server.
RunWait, ipython notebook --notebook-dir "%x%", , min
return

^i::
; Now, run the IPython notebook server.
RunWait, jupyter notebook --notebook-dir "C:\Path\To\Workspace", , min
return

; Press CTRL+ALT+P to kill all Python processes.
^!p::
Run, taskkill /f /im python.exe, , min
return