ChatGPT解决这个技术问题 Extra ChatGPT

更改 IPython/Jupyter notebook 工作目录

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

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

stackoverflow.com/q/18901185/776637 - 这应该很有用。

B
Brad Solomon

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,它将成为您的默认启动位置。)


窗户是什么?
确认这确实适用于 Mac OSX,适用于 jupyterlab 0.31.5 / IPython 6.2.1
对于 Windows,它是:`jupyter notebook --notebook-dir=C:\my_python_project`
这不会更改笔记本中的工作目录。它只是设置了查找笔记本的初始位置。导航/打开笔记本后,工作目录将位于您打开它的任何位置。
任何人都知道如何配置没有管理员权限的人。当我从 anaconda 运行它时,它会自动打开 jupyter notebook 并且不允许我定义任何东西
P
Pythoner
%pwd  #look at the current work dir
%cd   #change to the dir you want 

谢谢你的好建议。我在 python3 jupyter notebook 中使用了!cd,但它不起作用,但这有效
很好的答案,不依赖于系统,实际上做了有问题的问题
如果您需要进行相对导入,这将无济于事。
必须使用 this(%) 而不是 !,它不会改变工作目录。
m
metakermit

正如 MrFancypants 在评论中提到的,如果您使用 Jupyter(您应该使用它,因为它目前取代了旧的 IPython Notebook 项目),那么事情就是 little different。一方面,不再有个人资料。

installing 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 repository 中的整个 ~/.jupyter 文件夹进行版本控制,并将其部署到每台新的工作机器上。

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

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

我不明白 c.NotebookApp.notebook_dir = u'/absolute/path/to/notebook/directory' 中的 'u' 没有它似乎可以正常工作
是的,它可能不需要。这是在 Python 2 中创建 Unicode 字符串的一种方法(尝试 type(u'bla')type('bla')。在 Python 3 中,它与没有 u 的字符串表达式相同(因为所有字符串都是 Unicode)。
anaconda 文件夹中的 cmd 窗口,然后是“jupyter notebook --generate-config”,然后按照上述步骤操作。为我工作。 :)
但是我该如何为已经打开的笔记本做到这一点呢?即启动后如何更改笔记本目录?谢谢
来自 jupyter_notebook_config.py 文件 ## 已弃用使用 base_url #c.NotebookApp.base_project_url = '/' ## 笔记本服务器的基本 URL。 c.NotebookApp.base_url = '/'
I
Ivo

对于 Windows 10

在 C:\Users\your_user_name\.jupyter 中查找 jupyter_notebook_config.py 或使用 cortana 查找。如果没有,请转到 cmd 行并键入: jupyter notebook --generate-config 打开 jupyter_notebook_config.py 并执行 ctrl-f 搜索: c.NotebookApp.notebook_dir 通过删除 # 取消注释。改成:c.NotebookApp.notebook_dir = 'C:/your/new/path' 注意:你可以把au放在第一个'前面,把\\\\改成/,或者把'改成"。我不'认为这并不重要。转到您的 Jupyter Notebook 链接并右键单击它。选择属性。转到快捷菜单并单击目标。查找 %USERPROFILE%。删除它。保存。重新启动 Jupyter。


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

对于那些在 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\

(注意“start in”末尾添加的斜线)

这将运行 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 上阅读了此条目并喜欢它,这么长的投票,没有人需要这个了 :)


我发现你可以只复制开始菜单中使用的快捷方式,并将“开始”设置为空,然后 IPython 将以工作目录作为快捷方式所在的目录开始。
Christoph,你能分享一下你的图标有什么“目标”吗?我无法复制您描述的方法。当我将“开始”留空时,它会在安装目录中打开。你能用“-pylab inline”运行吗?我想知道是否是我的命令行使用限制了我对快捷方式的使用。
请注意,此解决方案必须在 Ipython 3.1 中稍作更改,因为不再支持 --pylab。而不是 ipython notebook "--pylab inline" 写成 "ipython notebook"
我发现这不适用于最新版本的 Jupyter Notebook,这是真的吗?那我该如何改变呢?
@cqcn1991 - 我知道他们正在阅读以弃用不同的命令,并打算更新这个答案,也许现在是时候了。您可以正常运行笔记本吗?如果可以,您使用的是什么命令。如果不是,那么问题出在其他地方。如果命令需要,我将更新新版本。
T
Timothée HENRY

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

cd d:\folder\

也适用于 Linux,例如,cd ~/whatever
R
René Wolferink

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

$> ipython profile create

使用默认配置文件初始化配置文件。其次,在文件 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'


如果您使用 Jupyter,命令更改为“jupyter notebook --generate-config”,“jupyter\jupyter_notebook_config.py”中要修改的行是“c.NotebookApp.notebook_dir =”
谢谢,这真的帮助了我。
A
Aziz Alto

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

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

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


F
Farhad Maleki

在运行 ipython 之前:

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

运行 ipython 后:

使用 %cd /Enter/your/prefered/path/here/ 使用 %pwd 检查当前目录


作为一个不错的解决方案,我建议使用 virtualenvwrapper 为每个环境分配一个目录。除了虚拟环境的所有好处之外,通过激活每个环境,您可以被定向到特定目录。请查看以下链接中的文档:virtualenvwrapper.readthedocs.io/en/latest/… 如果您使用 python 的 anaconda 发行版,您可以使用
S
Simon

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

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

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

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

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

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

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


这是最好的。切换目录很方便。
我认为这是最好的解决方案。将 ipython notebook 替换为 jupyter notebook,因为前者已被弃用。
C
Catbuilts

对于 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/[your_username]/.jupyter/jupyter_notebook_config.py 创建一个配置文件

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

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


P
Priyansh

根据官方 Jupyter Notebook 文档更改

%用户资料%

到您的文件夹路径

Documentation Link

3.1.1。更改 Jupyter Notebook 启动文件夹 (Windows)

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

右键单击新启动器并更改目标字段,将 %USERPROFILE% 更改为包含所有笔记本的文件夹的完整路径。

双击 Jupyter Notebook 桌面启动器(图标显示 [IPy])以启动 Jupyter Notebook App。笔记本界面将出现在新的浏览器窗口或选项卡中。还将打开一个辅助终端窗口(仅用于错误记录和关闭)。

https://i.stack.imgur.com/ZKQIr.png


确保用双引号将您的路径括起来 EG:"F:/YourPath"
根据 SO 指南,答案必须以实际文本给出,而不是文本图像。图像中的文本可能难以在移动设备上阅读,不便于访问,对某些用户来说占用太多带宽,并且无法复制粘贴。当图片相关且必要时,图像将保留用于只有图片才能显示的内容。在某些情况下,还可以包含图像作为补充材料来补充答案。但是作为图像的文本不能成为答案。请在对话框图像上方输入说明进行编辑,并删除文本的网站截图。
w
webuser

操作系统 Windows 10 Python Anaconda 2018 版

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

打开 cmd 提示符(或 Anaconda Prompt),然后输入 'jupyter notebook --generate-config' 并按回车 这会在 'C:\Users\username.jupyter\' 文件夹中自动创建一个文件 'jupyter_notebook_config' 查找创建的文件'jupyter_notebook_config'并编辑它。 Find for #c.NotebookApp.notebook_dir = '' 把你想要的路径放在双引号内,它变成 ---> c.NotebookApp.notebook_dir = 'D:/my_folder/jupiter' 注意使用了正斜杠(/) , 并且注释 (#) 被删除。

因此,

#c.NotebookApp.notebook_dir = '' 

编辑成为

c.NotebookApp.notebook_dir = 'D:/your/desired/path'

让我们修改一下 Jupyter Notebook 快捷图标的路径 6.0 在开始菜单上,右键单击快捷方式,打开文件夹位置。 6.1 进入文件夹后,建议创建一个Jupyter快捷方式的副本, 6.2 右击新建快捷方式图标打开属性,

最后,

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

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


a
anasmatic

只需更改到 CMD 中的首选目录,所以如果你在

C:\Users\USERNAME>

像这样改变路径

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

然后 CMD 光标将移动到该文件夹

D:\MyProjectFolder>

接下来你可以调用 jupyter

D:\MyProjectFolder>jupyter notebook

这对我来说是最简单的方法。
坦率地说,这应该是被接受的答案,其他人太复杂了。
p
pheon

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

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

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

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


p
patricktokeeffe

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

我受到 Git for Windows 创建的基于注册表的“Git GUI Here/Git Bash Here”条目的启发。 This page(已链接存档版本)有助于找到正确的密钥。

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

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 即使可执行文件位于系统路径上,也需要完整路径。


这应该是IMO的最佳答案
k
kookara

找到您的 ipython 二进制文件。如果您在 Mac 上使用 anaconda 安装 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'

注意 - notebook 目录的路径是相对于 ipython bin 目录的。


G
George Liu

只需按照the guide on the official site,也复制在下面。第一步,您可以转到开始菜单并右键单击以打开该位置,而不是复制启动器。

将 Jupyter Notebook 启动器从菜单复制到桌面。右键单击新启动器并通过粘贴包含所有笔记本的文件夹的完整路径来更改“开始于”字段。双击 Jupyter Notebook 桌面启动器(图标显示 [IPy])以启动 Jupyter Notebook 应用程序,该应用程序将在新的浏览器窗口(或选项卡)中打开。另请注意,还将打开一个辅助终端窗口(仅用于错误记录和关闭)。如果只有终端启动,尝试用浏览器打开这个地址:http://localhost:8888/。


G
Gunay Anach

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

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 快捷方式执行。


N
Neural Panther

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

我在这里遵循了上述建议,但仍然无法使我的设置正常工作。

这就是我所做的——以防万一有人需要它:

看起来 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 中创建所需的 python 文件

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

现在(终于)ipython notebook 64 bit 运行并为我提供了正确的工作目录

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

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

a
abhijeetmote

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

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


佚名
import sys
sys.path.append('C:/')

尽管代码很受欢迎,但它应该始终有一个随附的解释。这不必很长,但它是预期的。
C
Community

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

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

H
HVS

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

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


A
Abhimanyu

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

就我而言,我所有的 python 文件都在“D:\Python”中。

然后输入命令“jupyter notebook”就可以了。您已更改工作目录。


h
hpaulj

这个问题在我搜索 ipython change pwd 时不断出现,即使我对 notebook 不感兴趣,而是对终端或 qtconsole 感兴趣。没有找到我试过的相关配置条目:

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

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

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


N
Nim J

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

在程序中导航到 ipython 笔记本并右键单击它并转到属性。在快捷方式选项卡中,将“开始于”目录更改为您想要的目录。重启内核。


Z
ZSH

您还可以将 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

M
Mohit Rangholiya

如果您在 Windows 中安装了最新版本的 Python,上解决方案可能不适合您。我已经安装了 Python 3.6.0 :: Anaconda 4.3.0(64 位),我想更改名为 Jupyter 的 iPython Notebook 的工作目录,这就是它对我的工作方式。

第 1 步:打开您的 CMD 并键入以下命令。

Step1 : CMD

第 2 步: 现在它已经在您的 .jupyter 文件夹中生成了一个文件。对我来说,它是 C:\Users\Admin.jupyter 。在那里你会找到一个名为 jupyter_notebook_config.py 的文件。右键单击并编辑它。添加以下行并设置工作目录的路径。 Set your own working directory in place of "I:\STUDY\Y2-Trimester-1\Modern Data Science"

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


A
Alharithi

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

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

行前

sys.exit(IPython.start_ipython())