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

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

我怎样才能改变这个到另一个位置?

谢谢。

jupyter notebook --help-all帮助jupyter notebook --help-all可能的帮助:

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

如果需要,您当然可以将其设置在您的configuration文件中,但您可能需要在Windows中转义反斜杠。

对于在Windows中使用IPython的人来说, 一个巧妙的诀窍就是你可以在你devise的每个项目目录中创build一个ipython图标,使用笔记本指向所select的项目。 这有助于保持独立。

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

将ipython笔记本图标复制到该目录,或者创build一个到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 NOTEBOOK〜版本4.1.1的更新

在我的testing机器上,并在下面的评论中报告,最新的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笔记本不在你的PATH中,你只需要在命令前添加完整的目录参考。 如果这不起作用,请尝试从早期版本开始工作。 非常方便,现在“开始于:”可以在4.1.1及更高版本的testing中为空。 也许他们在SO上阅读这个条目并且很喜欢它,所以很长一段时间以来,没有人需要这个了:)

除了Matt的方法之外, 永久更改笔记本默认目录的一种方法是更改​​configuration文件。 首先在cmdline中input:

 $> ipython profile create 

用默认的configuration文件初始化configuration文件。 其次,在文件ipython_notebook_config.py ,取消注释并编辑这一行:

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

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

这适用于我;)

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

在Windows上的iPython Notebook中,这为我工作:

 cd d:\folder\ 

正如MrFancypants在评论中提到的那样,如果你使用Jupyter (你应该这样做,因为它现在取代了旧的IPython Notebook项目),事情有点不一样 。 首先,没有更多的configuration文件。

安装Jupyter后 ,首先检查您的〜/ .jupyter文件夹以查看其内容。 如果没有configuration文件从默认IPythonconfiguration文件迁移(因为它们不是我的情况),为Jupyter Notebook创build一个新configuration文件:

 jupyter notebook --generate-config 

这将生成〜/ .jupyter / jupyter_notebook_config.py文件,并提供一些有用的评论。 要设置默认目录,请添加:

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

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

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

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


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

 jupyter notebook --notebook-dir=/absolute/path/to/notebook/directory 
 %pwd #look at the current work dir %cd #change to the dir you want 

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

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

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

对上面的Windows Trick进行更简单的修改 – 不需要对目录进行硬编码。

A)创build一个包含以下内容的batch file:(注意:batch file是一个简单的文本文件,包含可以在cmd窗口中运行的命令,它必须有一个'.bat'扩展名,需要禁用隐藏已知types扩展名的文件夹设置)

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

B)将batch file复制并粘贴到要启动笔记本服务器的任何文件夹中。

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

C)双击Windows资源pipe理器中的batch file。

笔记本服务器应该像平时一样启动。

对于Linux和Window:只需修改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上打开terminal,运行“ jupyter notebook –generate-config ”。

它将在\ Users \ catbuilts \ .jupyter \ jupyter_notebook_config中创build一个configuration文件。

打开configuration文件,然后改变这一行#c.NotebookApp.notebook_dir ='' (search单词“_dir”)

c.NotebookApp.notebook_dir =' 你的path ' ,记得也不要评论这一行。

例如,我的是“/ Users / catbuilts / Jupyter_Projects /”

运行ipython之前:

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

运行ipython后:

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

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

我受到Git for Windows创build的基于registry的“Git GUI Here / Git Bash Here”的启发。 这个页面 (链接的存档版本)有助于查找正确的密钥。

这第一对是上下文菜单没有select(例如目录背景)。 笔记本将打开当前目录作为工作目录。

 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%1参数,否则它将不起作用。 不要忘记引号。 在我的平台上,IPython Notebook的完整path是C:\WinPython-32bit-2.7.6.4\IPython Notebook.exe但是这个值显然取决于你的安装。

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

为了在OS X中为Windows执行相同的技巧,创build这个shell脚本

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

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

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

find你的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目录中使用了一个bash脚本来启动我的笔记本:

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

注 – 笔记本目录的path是相对于ipython bin目录的。

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

 C:\Program Files\Miniconda2\cwp.py 

并添加您的项目文件夹位置: development_folder ='C:\ Users \ USERNAME \ 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快捷方式执行。

只要转到CMD中的首选目录,所以如果你在

 C:\Users\USERNAME> 

只要改变这样的path

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

CMD光标将移动到该文件夹

 D:\MyProjectFolder> 

接下来你可以打电话给Jupyter

 D:\MyProjectFolder>jupyter notebook 

对于Windows 10

  1. 在C:\ Users \ your_user_name \ .jupyter中查找jupyter_notebook_config.py,或者使用cortana查找它。

  2. 如果你没有,那么去cmd行input:

    jupyter笔记本–generate-config

  3. 打开jupyter_notebook_config.py并执行ctrl-fsearch:

    c.NotebookApp.notebook_dir

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

  5. 将其更改为:

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

注意:你可以把au放在第一个前面,把\改成\ ,或者改成to,我认为不重要。

  1. 转到您的Jupyter笔记本链接并右键单击它。 select属性。 进入快捷菜单,然后点击目标。 寻找%USERPROFILE%。 删除它。 保存。
 import sys sys.path.append('C:/') 

我有32位和64位的Python和ipython使用WinPython,我希望32位和64位版本指向ipython笔记本相同的工作目录。

我在这里遵循上述build议我仍然无法让我的设置工作。

以下是我所做的 – 如果有人需要它:


它看起来像Ipython笔记本使用从C:\pythonPath\winpythonPath\settings\.ipython\profile_default

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

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

另外ipython profile_create不是在C:\pythonPath\winpythonPath\settings\.ipython\profile_default创build所需的python文件

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

现在(最后)ipython笔记本64位运行,并提供给我正确的工作目录

在Windows上的注意我没有与下面的语法问题:

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

只需按照官方网站上的指南 ,也复制下面。 对于第一步,而不是复制启动器,你可以去开始菜单,并右键单击打开位置。

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

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

  3. 双击Jupyter Notebook桌面启动器(图标显示[IPy])以启动Jupyter Notebook App,该应用程序将在新的浏览器窗口(或标签)中打开。 还要注意,辅助terminal窗口(仅用于错误logging和closures)也将被打开。 如果只有terminal启动,请尝试使用浏览器打开此地址: http:// localhost:8888 / 。

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

只需在你的linux命令之前指定感叹号(!)符号即可。

对于目标目录中带有空格的Mac OS X(跟随@pheon)。 因此,在第2行的$(…)周围添加一对额外的双引号。 请参阅: https : //stackoverflow.com/a/1308838 (肖恩·布莱特)

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

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

  1. 一次性活动:确保jupyter-notebook.exe的path保存在环境variables下。
  2. 从Windows资源pipe理器中打开所需的目录,或从命令提示符下打开CD
  3. 从所需文件夹的Windows资源pipe理器中,select地址栏(以完全selectpath标签的方式)并键入jupyter-notebook.exe
  4. 瞧! 笔记本从所需的文件夹打开,任何新的笔记本将保存在这个位置。

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

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

然后键入命令“jupyter笔记本”,你有它。 你已经改变了你的工作目录。

当我searchipython change pwd时,这个问题不断出现,即使我对notebook不感兴趣,而是terminal或qtconsole。 没有find相关的configuration条目我试过了:

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

这是基本级的shell类; 有terminal和控制台(可能是笔记本)条目,可以进一步定制的行动。

从文档看来, import语句在入口中是最常见的,但是看起来许多魔法命令也是如此。

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

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

您还可以使用一个简单的脚本来使用AutoHotKey在默认目录(CTRL + I)中打开一个Jupyter Notebook服务器,或者在资源pipe理器(或其他位置使用CTRL + SHIFT + I)突出显示的path。

 #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 

如果您在Windows中安装了最新版本的Python,Upper Solution可能无法正常工作。 我已经安装了Python 3.6.0 :: Anaconda 4.3.0(64位),我想更改iPython Notebook的工作目录,名为Jupyter,这就是我的工作方式。

步骤1:打开您的CMD并input以下命令。

第一步:CMD

第二步:现在在.jupyter文件夹中生成一个文件。 对我来说,它是C:\ Users \ Admin.jupyter。 在那里你会find一个名为jupyter_notebook_config.py的文件。右击并编辑它。 添加以下行并设置工作目录的path。 设置你自己的工作目录代替“I:\ STUDY \ Y2-Trimester-1 \ Modern Data Science”

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

根据官方Jupyter笔记本文档更改

%用户资料%

到您的文件夹path

文档链接

Jupyter笔记本文档

在这里输入图像说明

我会在这里添加一长串答案。 如果你在Windows /使用Anaconda3,我通过转到文件/Scripts/ipython-script.py来完成这项工作,只是添加了行

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

在线之前

 sys.exit(IPython.start_ipython())