更改IPython/Jupyter笔记本工作目录

Joh*_*ohn 188 ipython jupyter jupyter-notebook

当我打开一个Jupyter笔记本(以前称为IPython)时,默认为C:\Users\USERNAME.

如何将其更改为其他位置?

谢谢.

Mat*_*att 145

jupyter notebook --help-all 可能会有所帮助:

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

例如:

jupyter notebook --notebook-dir=/Users/yourname/folder1/folder2/
Run Code Online (Sandbox Code Playgroud)

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

请注意,这将覆盖您在jupyter_notebook_config.py文件中设置的任何路径.(您可以在其中设置c.NotebookApp.notebook_dir将成为默认启动位置的变量.)

  • 你是怎么做的?对我来说不起作用: (8认同)
  • 对于Windows,它是:`jupyter notebook --notebook-dir = C:\ my_python_project \` (8认同)
  • 这不会更改笔记本中的工作目录。它只是设置寻找笔记本的初始位置。一旦您导航/打开笔记本,工作目录将位于您打开它的位置。 (6认同)
  • 窗户是什么? (2认同)

Pyt*_*ner 52

%pwd  #look at the current work dir
%cd   #change to the dir you want 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢您的提示。我在python3 jupyter笔记本中使用`!cd`,它不起作用,但这可行 (2认同)
  • 非常好的答案,不依赖于系统,并且实际上做了有问题的问题 (2认同)
  • 如果您需要进行相对导入,这对您没有帮助。 (2认同)
  • 必须使用 this(%) 而不是 !,它不会更改工作目录。 (2认同)

Eze*_*ick 46

对于那些在Windows中使用IPython的人来说,一个巧妙的诀窍就是你可以在每个项目目录中创建一个ipython图标,该目录旨在打开,笔记本指向所选项目.这有助于保持分离.

例如,如果您在C:\ fake\example \目录中有一个新项目

将ipython notebook图标复制到目录或创建指向windows"cmd"shell的新链接.然后右键单击图标并"编辑属性"

将快捷方式属性设置为:

Target:
C:\Windows\System32\cmd.exe /k "cd C:\fake\example\directory & C: & ipython notebook --pylab inline"

Start in:
C:\fake\example\directory\
Run Code Online (Sandbox Code Playgroud)

(注意"start in"结尾处添加的斜杠)

这将运行Windows命令行,更改到您的工作目录,并运行指向该目录的ipython笔记本.

在每个项目文件夹中删除其中一个,你将让ipython笔记本组保持良好和分离,同时仍然只需双击.

更新:IPython已经删除了对pylab命令行内联的支持,所以如果你有一个更新的IPython版本(或者显然不想要pylab),那么解决这个问题的方法就是消除"--pylab inline".

更新JUPYTER NOTEBOOK~4.1.1版

在我的测试机器上,并在下面的评论中报告,最新的jupyter构建似乎检查启动目录并启动它作为工作目录.这意味着不需要工作目录覆盖.

因此,您的快捷方式可以简单如下:

Target (if jupyter notebook in path):
    jupyter notebook

Target (if jupyter notebook NOT in path):
    C:\Users\<Your Username Here>\Anaconda\Scripts\jupyter.exe notebook
Run Code Online (Sandbox Code Playgroud)

如果你的PATH中没有jupyter notebook,你只需要在命令前面添加完整的目录引用.如果这不起作用,请尝试使用早期版本.非常方便,现在"开始于:"在我的4.1.1及更高版本的测试中可能是空的.也许他们在SO上阅读这篇文章并喜欢它,所以很长时间的投票,没有人需要这个了:)

  • 我发现你可以只复制开始菜单中使用的快捷方式,并将"Start In"清空,然后IPython将以工作目录作为快捷方式所在的目录开始. (7认同)
  • 请注意,必须使用 Ipython 3.1 稍微更改此解决方案,因为不再支持 --pylab。而不是 ipython 笔记本“--pylab inline”写“ipython notebook” (2认同)
  • 我发现这不适用于最新版本的 Jupyter Notebook,这是真的吗?那我该怎么改呢? (2认同)

tuc*_*son 33

在Windows上的iPython Notebook中,这对我有用:

cd d:\folder\
Run Code Online (Sandbox Code Playgroud)

  • 也适用于Linux,例如`cd~/whatever` (3认同)

zha*_*hen 32

除了@Matt的方法之外,永久更改用于笔记本的默认目录的一种方法是更改配置文件.首先在cmdline中输入:

$> ipython profile create
Run Code Online (Sandbox Code Playgroud)

使用默认配置文件初始化配置文件.其次,在文件中ipython_notebook_config.py,取消注释并编辑此行:

# c.NotebookManager.notebook_dir = 'D:\\Documents\\Desktop'
Run Code Online (Sandbox Code Playgroud)

改变D:\\Documents\\Desktop你喜欢的任何路径.

这对我有用;)

更新:已经没有c.NotebookManager.notebook_dir了.现在,取消注释和配置的行是这样的: c.NotebookApp.notebook_dir = 'Z:\\username_example\folder_that_you_whant'

  • 如果您使用Jupyter,命令将更改为"jupyter notebook --generate-config",要在"jupyter\jupyter_notebook_config.py"中修改的行为"c.NotebookApp.notebook_dir =" (15认同)

met*_*mit 32

正如MrFancypants在评论中提到的,如果你正在使用Jupyter(你应该,因为它目前取代了旧的IPython Notebook项目),情况会有所不同.首先,没有配置文件了.

安装Jupyter,首先检查你的〜/ .jupyter文件夹以查看其内容.如果没有从默认的IPython配置文件迁移配置文件(因为它们不在我的情况下),请为Jupyter Notebook创建一个新文件:

jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

这会生成〜/ .jupyter/jupyter_notebook_config.py文件,其中包含一些有用的评论可能的选项.要设置默认目录,请添加:

c.NotebookApp.notebook_dir = u'/absolute/path/to/notebook/directory'
Run Code Online (Sandbox Code Playgroud)

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

import os
c.NotebookApp.notebook_dir = os.path.expanduser('~/Dropbox/dev/notebook')
Run Code Online (Sandbox Code Playgroud)

现在,每当我运行时jupyter notebook,它都会打开我想要的笔记本文件夹.我还将我部署到每个新工作机器的dotfiles存储库中的整个〜/ .jupyter文件夹版本化.


顺便--notebook-dir说一句,你仍然可以使用命令行选项,所以也许一个简单的别名可以更好地满足你的需求.

jupyter notebook --notebook-dir=/absolute/path/to/notebook/directory
Run Code Online (Sandbox Code Playgroud)


Azi*_*lto 22

通常$ ipython notebook会在终端的当前工作目录中启动笔记本和内核.

但是如果要指定启动目录,可以使用--notebook-dir如下选项:

$ ipython notebook --notebook-dir=/path/to/specific/directory

  • 我认为这是最简单的选择 - 谢谢! (3认同)

Far*_*eki 13

在运行ipython之前:

  1. 将目录更改为首选目录
  2. 运行ipython

运行ipython之后:

  1. 使用 %cd /Enter/your/prefered/path/here/
  2. 使用%pwd来检查你的当前目录


小智 13

对于Windows 10

  1. 查找jupyter_notebook_config.py在C:\用户\ your_user_name\.jupyter或柯塔娜查找.

  2. 如果您没有,请转到cmd行并键入:

    jupyter notebook --generate-config

  3. 打开jupyter_notebook_config.pyctrl-f搜索:

    c.NotebookApp.notebook_dir

  4. 通过删除#取消注释.

  5. 将其更改为:

    c.NotebookApp.notebook_dir = 'C:/your/new/path'

    注意:您可以u在第一个之前放置',更改\\\\/或更改'".我认为这不重要.

  6. 转到您的Jupyter Notebook链接并右键单击它.选择属性.转到"快捷方式"菜单,然后单击"目标".寻找%USERPROFILE%.删除它.保存.重启Jupyter.

  • 我在Windows 10上尝试了所有以前的答案,这是唯一对我有用的解决方案!最后一步至关重要.实际上,如果在最后一步中删除%USERPROFILE%并且*用所需目录替换*它,则可能会出现这种情况,即您不需要所有先前的步骤 (2认同)

小智 12

对上面的Windows技巧进行了更简单的修改 - 无需对目录进行硬编码.

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

rem -- start_ipython_notebook_here.bat ---
dir
ipython notebook 
pause
Run Code Online (Sandbox Code Playgroud)

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

(确保它是您有权编辑的文件夹."C:\"不是一个好选择.)

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

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


小智 9

操作系统 Windows 10 Python Anaconda 2018 版

通过配置文件更改 JUPYTER 笔记本的工作目录:

  1. 打开cmd提示符(或Anaconda Prompt),然后输入“jupyter notebook --generate-config”并按回车

  2. 这会自动在 'C:\Users\username.jupyter\' 文件夹中创建一个文件 'jupyter_notebook_config'

  3. 查找创建的文件“jupyter_notebook_config”并进行编辑。

  4. 查找 #c.NotebookApp.notebook_dir = ''

  5. 把你想要的路径放在双引号内,它变成 ---> c.NotebookApp.notebook_dir = 'D:/my_folder/jupiter'

    • 请注意使用了正斜杠 (/),并删除了注释 (#)。

因此,

#c.NotebookApp.notebook_dir = '' 
Run Code Online (Sandbox Code Playgroud)

编辑成

c.NotebookApp.notebook_dir = 'D:/your/desired/path'
Run Code Online (Sandbox Code Playgroud)
  1. 让我们修改一下 Jupyter Notebook 快捷方式图标的路径 6.0 在开始菜单上,右键单击快捷方式,打开文件夹位置。6.1 进入文件夹后,建议创建一个 Jupyter 快捷方式的副本, 6.2 右键单击​​新的快捷方式图标打开属性,

最后,

6.3 在 Target 文本框中,删除路径末尾的%USERPROFILE%,很长的路径应该以jupyter-notebook-script.py 结尾

搜索我的 vid Jupyter Notebook - 将工作文件夹路径从默认路径更改为所需路径


Cat*_*lts 8

对于Linux和Windows:只需修改1行,就可以更改它.

1. Open file
Run Code Online (Sandbox Code Playgroud)

cwp.py

C:\ Users\[您的计算机名称]\Anaconda2

.

2. find the line 
Run Code Online (Sandbox Code Playgroud)

os.chdir(documents_folder)

在文件的末尾.

将其更改为

os.chdir("你期望的工作文件夹")

例如:os.chdir("D:/ Jupyter_folder")

3. save and close.
Run Code Online (Sandbox Code Playgroud)

有效.


更新:

说到MacOS,我找不到cwp.py. 这是我发现的:

在Macbook上打开终端,运行' jupyter notebook --generate-config '.

这将创建在配置文件/Users/[your_username]/.jupyter/jupyter_notebook_config.py

打开配置文件,然后将此行#c.NotebookApp.notebook_dir =''更改 为 c.NotebookApp.notebook_dir =' your path ' 并记住取消注释此行.

例如,我将路径更改为'/ Users/catbuilts/JupyterProjects /'


phe*_*eon 5

要对 OS X 中的 Windows 执行下面描述的相同技巧,请创建此 shell 脚本

#!/bin/bash
cd $(dirname "$0") && pwd
ipython notebook
Run Code Online (Sandbox Code Playgroud)

将其命名为 ipython-notebook.command 并使其可执行。

把它放在你要工作的目录中,然后双击它。


pat*_*ffe 5

从命令行启动时,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"
Run Code Online (Sandbox Code Playgroud)

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

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

Key: HKCR\Directory\shell\ipythonnb\command
Value: "<full path to IPython notebook>" "%1"
Run Code Online (Sandbox Code Playgroud)

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

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


小智 5

只需更改为CMD中的首选目录,所以如果您位于

C:\Users\USERNAME>
Run Code Online (Sandbox Code Playgroud)

像这样改变路径

C:\Users\USERNAME>cd D:\MyProjectFolder
Run Code Online (Sandbox Code Playgroud)

然后CMD光标将移至该文件夹

D:\MyProjectFolder>
Run Code Online (Sandbox Code Playgroud)

接下来你可以打电话给jupyter

D:\MyProjectFolder>jupyter notebook
Run Code Online (Sandbox Code Playgroud)


Pri*_*nsh 5

根据Jupyter Notebook官方文档更改

%用户资料%

到您的文件夹路径

文档链接

Jupyter Notebook文档

在此处输入图片说明