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


Answers:


171

jupyter notebook --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作为默认的启动位置。)


1
Windows有什么用?
Arjun Chaudhary

确认这确实适用于Mac OSX,适用于jupyterlab 0.31.5 / IPython 6.2.1
Brad Solomon

9
对于Windows,它是:`jupyter notebook --notebook-dir = C:\ my_python_project`
msysmilu

在Windows 10专业版上对我有用。只需打开CMD并键入:jupyter notebook --notebook-dir =“ D:\ change_this_path”
TharsDimitris '18

4
这不会更改笔记本中的工作目录。它只是设置了寻找笔记本电脑的初始位置。导航/打开笔记本后,无论您在哪里打开笔记本,工作目录都将位于该目录中。
Sonic Soul,

67
%pwd  #look at the current work dir
%cd   #change to the dir you want 

3
谢谢您的提示。我!cd在python3 jupyter笔记本中使用过,它不起作用,但是起作用了
upendra 17-10-20

1
很好的答案,不依赖于系统,实际上可以执行所要提出的问题
Igor sharm

如果您需要进行相对导入,这将无济于事。
Paloha

47

对于那些在Windows中使用IPython的人来说,一个巧妙的窍门是,您可以在每个项目目录中创建一个ipython图标,该目录旨在打开,笔记本指向该选定项目。这有助于使事情分开。

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

将ipython笔记本图标复制到目录或创建指向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\

(请注意,“开始于”末尾添加的斜杠)

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

在每个项目文件夹中删除其中一个,您将使ipython笔记本组保持良好且独立,而只需双击即可。

更新:IPython已删除了对pylab命令行内联的支持,因此使用此技巧的解决方法是,如果您有较新的IPython版本(或者显然不想pylab),则只需消除“ --pylab inline”。

JUPYTER笔记本的更新〜版本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

如果jupyter notebook不在您的PATH中,则只需在命令前面添加完整目录引用。如果这不起作用,请尝试从早期版本开始工作。非常方便,现在在4.1.1及更高版本的测试中,“开始于:”可以为空。也许他们在SO上阅读了这篇文章并喜欢它,所以长期投票,再也没有人需要它了:)


7
我发现您可以复制“开始”菜单中使用的快捷方式,并将“开始于”设置为空,然后IPython将以工作目录作为该快捷方式所在的目录开始。–
Christoph

Christoph,您可以分享您图标的“目标”是什么吗?我无法复制您描述的方法。当我将“开始于”保留为空时,它将在安装目录中打开。您可以使用“ -pylab inline”运行吗?我想知道是否是我的命令行用法限制了我对快捷方式的使用。
Ezekiel Kruglick 2014年

1
请注意,由于不再支持--pylab,因此在Ipython 3.1中必须稍微更改此解决方案。而不是ipython笔记本“ --pylab inline”写“ ipython笔记本”
tagoma

1
我发现这不适用于最新版本的Jupyter Notebook,这是真的吗?那我该如何改变呢?
cqcn1991 '10

@ cqcn1991-我知道他们正在阅读以弃用另一个命令,并打算更新此答案,也许是时候了。您可以正常运行笔记本电脑吗?如果不是,则问题出在其他地方。如果命令需要,我将更新为新版本。
Ezekiel Kruglick '16

42

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

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

jupyter notebook --generate-config

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

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 notebook,它都会打开所需的笔记本文件夹。我还对部署到每台新工作机的dotfiles存储库中的整个〜/ .jupyter文件夹进行了版本控制


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

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

1
我不明白其中的'u' c.NotebookApp.notebook_dir = u'/absolute/path/to/notebook/directory'似乎无法正常使用
哥达

是的,可能不需要。这是一种方法,使在Python 2 Unicode字符串(尝试type(u'bla')VS type('bla')在Python 3这是同样的事情作为字符串表达式没有。u(因为所有字符串都是Unicode)
metakermit

在anaconda文件夹中的cmd窗口中,然后选择“ jupyter notebook --generate-config”,然后按照上述步骤操作。为我工作。:)
Mark K

但是,对于已经打开的笔记本,我该怎么做?也就是说,启动后如何更改笔记本目录?谢谢您
感到困惑的

来自jupyter_notebook_config.py文件##已弃用,请使用base_url#c.NotebookApp.base_project_url ='/'##笔记本服务器的基本URL。c.NotebookApp.base_url ='/'
Vodyanikov Andrew Anatolevich


33

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

$> ipython profile create

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

# c.NotebookManager.notebook_dir = 'D:\\Documents\\Desktop'

更改D:\\Documents\\Desktop为您喜欢的任何路径。

这对我有用;)

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


15
如果您使用Jupyter,则命令将更改为“ jupyter notebook --generate-config”,并且在“ jupyter \ jupyter_notebook_config.py”中要修改的行是“ c.NotebookApp.notebook_dir =“
MrFancypants,2016年

25

对于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。


3
我在Windows 10上尝试过所有以前的答案,这是对我有用的唯一解决方案!最后一步很关键。实际上,如果在最后一步中删除%USERPROFILE%并将其替换为所需目录,则可能不需要所有前面的步骤
Mateo,

22

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

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

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


14

在运行ipython之前:

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

运行ipython之后:

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

作为一个不错的解决方案,我建议使用virtualenvwrapper为每个环境分配一个目录。除了虚拟环境的所有特权之外,通过激活每个环境,您还可以定向到特定目录。请通过以下链接查看文档:virtualenvwrapper.readthedocs.io/en/latest / ...如果您使用的是蟒蛇蟒蛇发行版,则可以使用
Farhad Maleki

12

对上述Windows Trick的简单修改-无需对目录进行硬编码。

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

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

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

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

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

笔记本服务器应正常启动。


这是最好的。切换目录很方便。
notilas

我认为这是最好的解决方案。更换ipython notebookjupyter notebook,因为前者已被弃用。
Nim J

10

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

1. Open file

cwp.py

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

2. find the line 

os.chdir(documents_folder)

在文件末尾。

更改为

os.chdir(“您的预期工作文件夹”)

例如:os.chdir(“ D:/ Jupyter_folder”)

3. save and close.

有效。


更新

对于MacOS,我找不到cwp.py。这是我发现的:

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

它将在/ Users / [您的用户名] /。jupyter / jupyter_notebook_config.py中创建一个配置文件

打开配置文件,然后将此行#c.NotebookApp.notebook_dir =更改 为 c.NotebookApp.notebook_dir =' your path ', 并记住也不要对此行添加注释。

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



6

操作系统Windows 10 Python Anaconda 2018 ver

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

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

  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 = '' 

编辑成为

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

最后,

6.3在目标文本框中,在路径末尾删除%USERPROFILE%,非常长的路径应以jupyter-notebook-script.py结尾

searcch我的vid Jupyter笔记本-将工作文件夹路径从默认更改为所需路径


5

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

C:\Users\USERNAME>

像这样改变路径

C:\Users\USERNAME>cd D:\MyProjectFolder

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

D:\MyProjectFolder>

接下来你可以打电话给jupyter

D:\MyProjectFolder>jupyter notebook

对我来说,这是最简单的方法。
汤姆(Tom),

坦白地说,这应该是大家都认可的答案,其他答案太过复杂了。
eric

4

若要执行以下针对OS X中Windows的相同技巧,请创建此Shell脚本

#!/bin/bash
cd $(dirname "$0") && pwd
ipython notebook

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

将其放在您要使用的目录中,然后双击它。


4

从命令行启动时,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"

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

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


这应该是IMO的最佳答案
RukTech

2

找到您的ipython二进制文件。如果您使用anaconda在Mac上安装ipython-notebook,则可能在/Users/[name]/anaconda/bin/目录中

在该目录中,而不是以

./ipython notebook

添加一个--notebook-dir=<unicode>选项。

./ipython notebook --notebook-dir=u'../rel/path/to/your/python-notebooks'

我在ipython bin目录中使用bashscript启动笔记本:

DIR=$(dirname $0)
$DIR/ipython notebook --notebook-dir=u'../rel/path/to/your/python-notebooks'

注意-笔记本目录的路径是相对于ipython bin目录的。


2

只需遵循官方网站上的指南,该指南也在下面复制。对于第一步,您无需复制启动器,只需转到“开始”菜单,然后右键单击以打开该位置。

  1. 将Jupyter Notebook启动器从菜单复制到桌面。

  2. 右键单击新启动器,然后通过粘贴将包含所有笔记本的文件夹的完整路径来更改“开始于”字段。

  3. 双击Jupyter Notebook桌面启动器(图标显示[IPy])以启动Jupyter Notebook应用程序,该应用程序将在新的浏览器窗口(或选项卡)中打开。还要注意,还将打开辅助终端窗口(仅用于错误记录和关闭)。如果只有终端启动,请尝试使用浏览器打开该地址:http:// localhost:8888 /


2

在Windows下要更改Jupyter或iPython工作目录的MiniConda2 / Anaconda2上,可以修改以下文件:

C:\Program Files\Miniconda2\cwp.py

并添加您的项目文件夹位置:development_folder ='C:\ Users \ USERNAME \ Development' 这是我的用户名\ Development。

也更改:os.chdir(documents_folder)更改为os.chdir(development_folder)

try:
    documents_folder = get_folder_path(FOLDERID.Documents)
    development_folder= 'C:\Users\USERNAME\Development'
except PathNotFoundException:
    documents_folder = get_folder_path(FOLDERID.PublicDocuments)
os.chdir(development_folder)
subprocess.call(args, env=env)

使用常规的Jupiter Notebook快捷方式执行。



1

我同时使用WinPython的32位和64位python和ipython,我希望32位和64位版本都指向ipython Notebook的相同工作目录。

我在这里遵循了以上建议,但仍然无法进行设置。

这是我所做的-万一有人需要:


看来Ipython Notebook正在使用来自 C:\pythonPath\winpythonPath\settings\.ipython\profile_default

即使 ipython locate回报C:\users\Username\.ipython

结果,修改ipython_notebook_config.py文件并没有改变我的工作目录。

另外ipython profile_create没有在创建所需的python文件C:\pythonPath\winpythonPath\settings\.ipython\profile_default

我确定有更好的方法,但是为了快速解决此问题,我编辑后的python文件从复制C:\users\Username\.ipython\profile_defaultC:\pythonPath\winpythonPath\settings\.ipython\profile_default

现在(最终)ipython Notebook 64位运行并为我提供了正确的工作目录

请注意,在Windows上,以下语法没有问题:

c.NotebookApp.notebook_dir = u'C:/Users/Path_to_working_directory'

1

如果您在Linux中使用ipython,请按照以下步骤操作:
!cd /directory_name/
您可以尝试在Linux终端中可用的所有命令。
!vi file_name.py

只需在Linux命令之前指定惊叹号(!)符号即可。


0

对于Mac OS X,目标目录中有空格(紧跟@pheon)。因此,在第2行中在$(...)周围添加一对双引号。参见:https : //stackoverflow.com/a/1308838(Sean Bright)

#!/bin/bash
cd "$(dirname "$0")" && pwd
ipython notebook

0

我有一个非常有效的方法将笔记本保存在Windows中的所需位置。

  1. 一次性活动:确保的路径jupyter-notebook.exe保存在环境变量下。
  2. 从Windows资源管理器或命令提示符下的cd打开所需的目录
  3. 从所需文件夹的Windows资源管理器中,选择地址栏(以完全选择路径标签的方式)并输入 jupyter-notebook.exe
  4. 瞧!笔记本将从所需的文件夹中打开,所有新笔记本将保存在此位置。

0

在命令行中输入“ jupyter notebook” 之前,导航到所需的文件夹。

在我的情况下,我所有的python文件都在“ D:\ Python”中。

然后键入命令“ jupyter notebook”,您就可以在其中找到它。您已更改工作目录。


0

ipython change pwd即使我对notebook终端或qtconsole 不感兴趣,但当我进行搜索时,这个问题仍会不断出现。找不到我尝试的相关配置条目:

# lines of code to run at IPython startup.
c.InteractiveShellApp.exec_lines = ['%cd /home/paul/mypy']

这是基本级别的shell类;有终端和控制台(可能还有笔记本)条目,它们可以进一步自定义操作。

从文档看来,import语句是该条目中最常见的语句,但似乎许多魔术命令也能正常工作。


0

如果您在Windows中使用ipython,请按照以下步骤操作:

  1. 在程序中导航到ipython笔记本,然后右键单击它并转到属性。
  2. 在快捷方式选项卡中,将“开始于”目录更改为所需目录。
  3. 重新启动内核。

0

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

#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

0

如果您在Windows中安装了最新版本的Python,那么“上层解决方案”可能对您不起作用。我已经安装了Python 3.6.0 :: Anaconda 4.3.0(64位),并且我想更改名为Jupyter的iPython Notebook的工作目录,这对我来说就是这样。

步骤1: 打开您的CMD,然后键入以下命令。

第一步:CMD

步骤2:现在,它已经在您的.jupyter文件夹中生成了一个文件。对我来说,它是C:\ Users \ Admin.jupyter。在那里您将找到一个名为jupyter_notebook_config.py的文件。右键单击并进行编辑。添加以下行并设置工作目录的路径。 设置您自己的工作目录以代替“ I:\ STUDY \ Y2-Trimester-1 \ Modern Data Science”

我们完了。现在,您可以尝试重新启动Jupyter Notebook。希望这对您有用。谢谢


0

我将在此处添加一长串答案。如果您在Windows /上使用Anaconda3,则可以通过转到文件/Scripts/ipython-script.py来完成此操作,并添加以下几行

import os
os.chdir(<path to desired dir>)

行前

sys.exit(IPython.start_ipython())
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.