我最近在笔记本电脑上新安装了 Ubuntu 14.04,并通过 anaconda 安装了 IPython 4。 但是,我无法打开或加载任何笔记本,包括那些在我的桌面上可以正常打开的笔记本。 当我尝试加载笔记本时,出现以下错误: An unknown error occurred while loading this notebook. This version can load notebook formats v4 or earlier. See the server log for details.
终端给出:
Unhandled error in API request
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 432, in __get__
value = obj._trait_values[self.name]
KeyError: 'db'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/base/handlers.py", line 436, in wrapper
result = yield gen.maybe_future(method(self, *args, **kwargs))
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in run
value = future.result()
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 215, in result
raise_exc_info(self._exc_info)
File "<string>", line 3, in raise_exc_info
File "/home/ryan/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 230, in wrapper
yielded = next(result)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/handlers.py", line 126, in get
path=path, type=type, format=format, content=content,
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 350, in get
model = self._notebook_model(path, content=content)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 310, in _notebook_model
self.mark_trusted_cells(nb, path)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py", line 447, in mark_trusted_cells
trusted = self.notary.check_signature(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 220, in check_signature
if self.db is None:
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 439, in __get__
value = self._validate(obj, dynamic_default())
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 126, in _db_default
db = sqlite3.connect(self.db_file, **kwargs)
sqlite3.OperationalError: unable to open database file
当我尝试创建一个新笔记本时,我收到另一个错误消息, Unexpected error while saving file: Dropbox/iPython Notebooks/Untitled.ipynb [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
这似乎提供了更多信息,但我对 Linux/python/所有这些东西都比较陌生。
终端给出:
Error while saving file: Dropbox/iPython Notebooks/Untitled.ipynb [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 432, in __get__
value = obj._trait_values[self.name]
KeyError: 'secret'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/filemanager.py", line 387, in save
self.check_and_sign(nb, path)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/notebook/services/contents/manager.py", line 431, in check_and_sign
self.notary.sign(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 245, in sign
signature = self.compute_signature(nb)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 195, in compute_signature
hmac = HMAC(self.secret, digestmod=self.digestmod)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/traitlets/traitlets.py", line 439, in __get__
value = self._validate(obj, dynamic_default())
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 173, in _secret_default
self._write_secret_file(secret)
File "/home/ryan/anaconda3/lib/python3.5/site-packages/nbformat/sign.py", line 179, in _write_secret_file
with io.open(self.secret_file, 'wb') as f:
PermissionError: [Errno 13] Permission denied: '/home/ryan/.local/share/jupyter/notebook_secret'
有人建议我包含python -c "import IPython; print(IPython.sys_info())"
的输出,所以这里是:
{'commit_hash': 'f534027',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/home/ryan/anaconda3/lib/python3.5/site-packages/IPython',
'ipython_version': '4.0.0',
'os_name': 'posix',
'platform': 'Linux-3.19.0-33-generic-x86_64-with-debian-jessie-sid',
'sys_executable': '/home/ryan/anaconda3/bin/python',
'sys_platform': 'linux',
'sys_version': '3.5.0 |Anaconda 2.4.0 (64-bit)| (default, Oct 19 2015, '
'21:57:25) \n'
'[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]'}
如前所述,我不是计算问题的专家。 我希望我没有做蠢事。 我尝试卸载并重新安装 anaconda、不同版本的 python、重新启动计算机,我还尝试了在https://github.com/ipython/ipython/issues/2097和这里找到的解决方案https://github.com /ipython/ipython/issues/8294因为它们看起来很相似。
我通过将 ~/.local/share/jupyter 目录的所有权从 root 更改为 user 解决了这个问题。 我不知道为什么会出现这个问题,因为它在我的其他系统上没有发生,所以也许这是一个错误,我将把它留在这里。
我刚刚进行了全新安装并遇到了同样的问题。
此修复程序仍然有效。
我在“jupyter notebook --ip 0.0.0.0”之前使用了“sudo”,它对我有用。
@metallikapo当我做同样的
是的,我们不建议使用sudo
运行笔记本服务器。 这也会导致笔记本中的所有代码以 root 身份运行。 正如@rtdew1发现的那样,将相关文件/目录更改为您的用户拥有是更好的做法。 我不确定这种情况是如何产生的。
我在 mac 中使用了 sudo jupyter notebook,它也适用于我的系统。
@metallikapo非常感谢
我在 mac 中使用了 sudo jupyter notebook,它也适用于我的系统。
@metallikapo非常感谢
同样,我们不建议使用 sudo 运行,并且 notebook 5.0 默认拒绝以 root 身份启动,因此这不是解决方案。
你用的什么命令? jupyter notebook打开笔记本? 我对jupyter notebook也有同样的问题。 但是使用命令jupyter-notebook代替我解决了这个问题。
你如何更改 jupyter notebook 的所有权?
那么更好的解决方案是什么? @Carreau
更好的解决方案是修复权限,以便 Jupyter 可以在您的常规用户帐户中运行。 很难为此给出准确的说明,因为有不同的事情可能会出错并导致类似的错误。 但总的来说,你会想要做这样的事情:
/home/username
,Mac 上/Users/username
),则这些说明适用。 如果它在其他地方,问题可能会有所不同。cd
转到包含该文件的文件夹。ls -l
以查看那里的所有文件。 如果文件在那里,您可能会看到它的所有者是root
,而不是您自己的用户名。 这是最常见的问题。 如果文件不存在,它可能无法创建它 - 上一级并在目录上尝试相同的操作。sudo chown username:username filename
将文件的所有者(和组)更改为您自己的用户。 如果您在目录上执行此操作,请使用-R
标志也更改其中的所有文件。您也可以从文件管理器执行此操作,但是有很多不同的管理器,因此我们不会给出说明。
(如果不清楚,请在这些说明中将username
替换
我在 pynq FPGA 的 Linux 系统上运行,这完美地解决了我的问题,谢谢! @takluyver
嗨,托马斯,
我在 Jupyter notebook 中执行代码后,遇到了另一个
问题:IPython dir ~/.ipython 不是可写位置,使用临时文件
目录。
你知道出了什么问题吗?
最好的事物,
于丽
计算机科学与工程,
香港中文大学,
香港沙田
2017-11-20 21:01 GMT+08:00 Thomas Kluyver [email protected] :
(如果不清楚,请将 username 替换为您自己的用户名
那些说明)—
您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/ipython/ipython/issues/8997#issuecomment-345688870 ,
或静音线程
https://github.com/notifications/unsubscribe-auth/AbRY_MLFebh-Y8ruW-vIi-e5ZJHy8H4aks5s4XgjgaJpZM4GkQxG
.
检查~/.ipython
的权限,并尝试sudo chown username:username ~/ipython
,还要检查:
$ ls -al ~/
drwxr-xr-x 14 <username> <usergroup> 476 Oct 9 05:30 .ipython
特别是第一列以drwx
开头,如果不是,您可能需要sudo chmod o+w ~/.ipython
。 凡o+w
手段将W仪式权限至O wner。
最好将该文件夹chown
归您的用户所有。 使用chmod 777
意味着任何用户都可以读取或写入它。 我们确实在那里存储了一些秘密信息,例如用于跟踪受信任笔记本的数据库。
这个命令对我有用:
cd ~ && sudo chown用户名:用户名.local/share/
记得用你自己的用户名替换用户名
在 Fedora 的情况下,您可能还想执行以下操作:
sudo chown -R user:user /run/user/1000/jupyter/
适合我的 Debian 解决方案:
在 /run/user/1000/jupyter/ 文件夹中:
chmod -R 0755用户:用户
我遇到了同样的问题,然后我发现当我运行 pip3 install jupyter 命令时,它会在当前目录中安装 jupyter,这是一个根级目录,如果我将该目录的所有者更改为普通用户,那将会很糟糕该目录用于 root ,我刚刚卸载了 jupyter 并将其重新安装在我的主目录中,一切对我来说都很完美
我是一个 win10 用户,尽管我已经是上述目录的所有者,但我还是收到了这个错误。
所以不确定这是否会为每个人解决问题。 我有同样的错误,没有一个解决方案对我有用。 我使用 juypter --path 检查存储 jupyter 的路径。
将有一个按配置、数据和运行时分类的路径列表。 我 cd 进入 config 下的路径,
看起来像这样
c:\users\dn.user\appdata\local\programs\python\python37\etc\jupyter
将目录更改为此处后
我再次运行 jupyter,没有错误。 希望这有助于某人
Windows 用户呢??
也许我应该更好地澄清。 我是 Windows 用户,我使用的是普通命令行
我的意思是我使用的是 AWS WorkSpace,但由于 AWS 工作区的内部结构,我遇到了一些奇怪的文件位置问题!! 后来才知道!! 但是您能否提供解决方案和相对路径来解决文件创建和保存文件的“权限被拒绝”问题!!
Mazior 的方法帮助我修复了它。 谢谢!
与(XuuLiu 在 2017 年 4 月 29 日评论)相同:使用 Ubuntu 18.04 LS,
使用命令 jupyter-notebook 代替我解决了这个问题。
以上都没有解决它,但我 chown 用户所有的 sub /.ipynb-checkpoints 并且成功了。
对于 Windows 用户:
您需要运行 Anaconda 提示以管理员身份
我的记忆是满满的。 我移动了一些东西,现在它工作正常。
ubuntu@ip-172-31-48-131:~/ssl$ jupyter notebook
[I 05:32:07.950 NotebookApp] Loading IPython parallel extension
[I 05:32:07.952 NotebookApp] Serving notebooks from local directory: /home/ubuntu/ssl
[I 05:32:07.952 NotebookApp] The Jupyter Notebook is running at:
[I 05:32:07.952 NotebookApp] https://(ip-172-31-48-131 or 127.0.0.1):8888/
[I 05:32:07.952 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
ERROR:asyncio:Exception in callback BaseAsyncIOLoop._handle_events(4, 1)
handle: <Handle BaseAsyncIOLoop._handle_events(4, 1)>
Traceback (most recent call last):
File "/usr/lib/python3.6/asyncio/events.py", line 145, in _run
self._callback(*self._args)
File "/usr/local/lib/python3.6/dist-packages/tornado/platform/asyncio.py", line 122, in _handle_events
handler_func(fileobj, events)
File "/usr/local/lib/python3.6/dist-packages/tornado/stack_context.py", line 300, in null_wrapper
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 262, in accept_handler
callback(connection, address)
File "/usr/local/lib/python3.6/dist-packages/tornado/tcpserver.py", line 263, in _handle_connection
do_handshake_on_connect=False)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 565, in ssl_wrap_socket
context = ssl_options_to_context(ssl_options)
File "/usr/local/lib/python3.6/dist-packages/tornado/netutil.py", line 540, in ssl_options_to_context
context.load_cert_chain(ssl_options['certfile'], ssl_options.get('keyfile', None))
PermissionError: [Errno 13] Permission denied
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
# ubuntu@ip-172-31-48-131:~/ssl$ jupyter notebook
ubuntu@ip-172-31-48-131:~/ssl$ sudo jupyter notebook --allow-root
最有用的评论
我通过将 ~/.local/share/jupyter 目录的所有权从 root 更改为 user 解决了这个问题。 我不知道为什么会出现这个问题,因为它在我的其他系统上没有发生,所以也许这是一个错误,我将把它留在这里。