Jupyter Notebook 500:内部服务器错误

时间:2016-04-25 21:52:12

标签: python pip jupyter-notebook

我想学习如何使用Jupyter Notebook。到目前为止,我已经设法下载并安装它(使用pip),但是我无法打开它。

我打开它打开它:

jupyter notebook

在我的终端。它在我的浏览器中打开,其URL为:

http://localhost:8888/tree

我得到一个大的:

500 : Internal Server Error

消息。有人能指出我出错的方向吗?

终端中的完整错误消息:

[E 17:53:52.034 NotebookApp] Uncaught exception GET /tree (::1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/tree', version='HTTP/1.1', remote_ip='::1', headers={'Accept-Language': 'en-US,en;q=0.8,es;q=0.6', 'Accept-Encoding': 'gzip, deflate, sdch', 'Host': 'localhost:8888', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1'})
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 1443, in _execute
        result = method(*self.path_args, **self.path_kwargs)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 2800, in wrapper
        return method(self, *args, **kwargs)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/notebook/tree/handlers.py", line 50, in get
        terminals_available=self.settings['terminals_available'],
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/notebook/base/handlers.py", line 302, in render_template
        template = self.get_template(name)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/notebook/base/handlers.py", line 298, in get_template
        return self.settings['jinja2_env'].get_template(name)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 719, in get_template
        return self._load_template(name, self.make_globals(globals))
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 693, in _load_template
        template = self.loader.load(self, name, globals)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/loaders.py", line 127, in load
        code = environment.compile(source, name, filename)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 493, in compile
        self.handle_exception(exc_info, source_hint=source)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/notebook/templates/tree.html", line 8, in template
        data-base-url="{{base_url | urlencode}}"
    TemplateAssertionError: no filter named 'urlencode'
[E 17:53:52.819 NotebookApp] {
      "Accept-Language": "en-US,en;q=0.8,es;q=0.6",
      "Accept-Encoding": "gzip, deflate, sdch",
      "Host": "localhost:8888",
      "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
      "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",
      "Connection": "keep-alive",
      "Upgrade-Insecure-Requests": "1"
    }
[E 17:53:52.819 NotebookApp] 500 GET /tree (::1) 874.29ms referer=None

修改

尝试按建议更新ipython时,会产生以下错误消息:

Exception:
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/req/req_set.py", line 732, in install
    **kwargs
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/req/req_install.py", line 835, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/req/req_install.py", line 1030, in move_wheel_files
    isolated=self.isolated,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/wheel.py", line 247, in move_wheel_files
    prefix=prefix,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/locations.py", line 142, in distutils_scheme
    i = d.get_command_obj('install', create=True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 845, in get_command_obj
    klass = self.get_command_class(command)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/dist.py", line 430, in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2229, in load
    return self.resolve()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2235, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named command.install

20 个答案:

答案 0 :(得分:11)

遇到了类似的问题。使用此命令升级ipython后修复了它

sudo pip install --upgrade "ipython[all]"

注意:确保使用双引号和[all]

键入ipython

答案 1 :(得分:4)

我也遇到过这个问题。我的根本原因是我已经安装了具有root权限的Jinja2(在我知道之前使用过sudo pip install)。

我的解决方案是使用sudo pip uninstall卸载Jinja2(这是必需的,因为它是以root权限安装的),然后重新运行pip install jupyter以使用常规用户权限重新安装它。

$ sudo pip uninstall Jinja2
$ pip install jupyter

虽然在这里使用sudo安装工作,但从长远来看会使问题变得更糟,因为它的所有软件包都安装了root权限,导致将来出现其他类似的问题。这有点像踢,可以在路上。

许多人当然不会在意,只要它有效。但对于那些我认为我会提到的人。

没有办法确定违规包是什么,但它可能是堆栈跟踪中的一个。我注意到Jinja2是我早期在Python中隐约记得的那个,所以我从那里开始工作。

答案 2 :(得分:3)

尝试了此页面上的所有解决方案均未成功后,@ kruger答案的一种变化对我有用,简单来说就是这样:

pip install --upgrade nbconvert

答案 3 :(得分:3)

通过升级nbconvert软件包为我工作。 pip install --upgrade --user nbconvert

答案 4 :(得分:2)

首先尝试升级jupyter hub

pip install --upgrade jupyterhub


pip install --upgrade --user nbconvert

在Windows 10上也为我工作。

答案 5 :(得分:1)

我遇到了同样的问题,但是通过使用python 3.7并通过四个简单步骤解决了这个问题:

第1步:在Linux中安装python 3.7

sudo apt-get install python3.7

第2步:安装python3-pip

sudo apt install python3-pip

第3步:安装jupyter

pip3 install jupyter

第4步:拉长Jupyter笔记本服务器

jupyter notebook

启动服务器并转到localhost:888 / tree后,它显示了在单击新按钮后创建python 3文件的选项。

答案 6 :(得分:0)

使用此::

python2 -m pip install ipykernel
python2 -m ipykernel install --user

python3 -m pip install ipykernel
python3 -m ipykernel install --user

答案 7 :(得分:0)

截至2019年3月22日,我遇到了这个问题,对我有用的是更新conda,然后使用pip升级jupyter:

conda update --all
pip install jupyter --upgrade

答案 8 :(得分:0)

我遇到了同样的问题,直到我设法解决它时,他才有些痛苦。对我有用的魔术线是

conda install -c conda-forge jupyter_contrib_nbextensions 

答案 9 :(得分:0)

一个对我有用的简单解决方案:在终端上,运行以下命令-

jupyter troubleshoot | grep jupyter | grep /

这将列出计算机中安装的不同版本的jupyter的路径。尝试所有版本的一种,然后删除那些会给您500错误的二进制文件。然后,您可能需要通过在〜/ .bashrc文件中添加一行(别名jupyter =“ / usr / local / bin / jupyter”)来更改指向jupyter的链接,或使用绝对路径调用jupyter。

注意:这不是最干净的解决方案,但可以解决。根据我所做的研究以及先前在SO上报告的所有解决此问题的方法,似乎很难确定此错误的来源。

答案 10 :(得分:0)

此错误是由于不一致引起的。更新jupyter可解决此问题。 如果您正在使用Anaconda-,请使用以下命令 conda update jupyter

答案 11 :(得分:0)

我遇到了同样的问题,我的解决方案是将Jinja2包更新为Jinja2-2.8版本。

要更新它,我使用了easy_install命令,如下所示:

sudo easy_install -U python-jinja2[all]

之后 500:内部服务器错误已修复。

答案 12 :(得分:0)

我只需要关闭jupyter内核并重新启动即可。可能是因为我在当前内核仍处于活动状态时卸载并安装了一些jupyter依赖项。

答案 13 :(得分:0)

在笔记本中更改内核后,我的问题得以解决。老家伙似乎坏了。

从笔记本菜单中选择:

@Override protected void configure(HttpSecurity http) throws Exception { http .anonymous.disable() .authorizeRequests() .antMatchers("/actuator/**").permitAll() .antMatchers("/password/forgot/**").permitAll() .antMatchers("/password/reset/**").permitAll() .antMatchers("/css/**").permitAll() .antMatchers("/js/**").permitAll() .antMatchers("/img/**").permitAll() .antMatchers("/manage/**").permitAll() .antMatchers( "/favicon.ico").permitAll() .anyRequest().authenticated(); http .formLogin() .loginPage("/login") .permitAll() .successHandler(authSuccessHandler) .and() .logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login") .invalidateHttpSession(true) .permitAll(); }

如果您以前没有过,请考虑创建一个。

答案 14 :(得分:0)

我能够通过消除LaTeX代码和$之间的空格来解决此问题。

例如:

$\frac        

代替

$ \frac 

答案 15 :(得分:0)

我在Windows计算机上运行过时的Python版本时遇到了此问题。具体来说,我为自己解决了从将Python 3.6.0升级到Python 3.6.8

的问题

答案 16 :(得分:0)

使用以下命令解决了Linux(CentOS 7)上的错误

pip3 install --user --upgrade nbconvert

答案 17 :(得分:0)

在我的情况下是不同的

我在不同的环境中运行我的 jupyter notebook

所以当我激活环境

错误已解决...

谢谢

答案 18 :(得分:0)

您可能在 jupyter notebook 安装过程中搞砸了。

在您的环境中,完全卸载您的 jupyter。然后,使用conda安装jupyter notebook,让conda为你解决依赖。

第一步:彻底卸载 jupyter。

python3 -m pip uninstall -y jupyter jupyter_core jupyter-client jupyter-console jupyterlab_pygments notebook qtconsole nbconvert nbformat

第 2 步:使用 conda 安装 jupyter notebook。

conda install -c conda-forge notebook 
conda install -c conda-forge nb_conda_kernels

重新启动您的笔记本。

答案 19 :(得分:0)

你可以使用

python3 pip install nbconvert==5.4.1 

(适用于 python 3.6;Linux Mint)