anaconda ipython笔记本无法在服务器设置中启动

时间:2014-08-18 14:46:38

标签: ipython ipython-notebook anaconda

我正在尝试在Terminal.com上安装Anaconda。我按照网站上的说明进行操作: https://gist.github.com/iamatypeofwalrus/5183133

安装成功。我可以通过在终端输入ipython来登录python。但是当我进入时 $ ipython notebook

我在终端上收到以下错误消息

[I 10:35:24.760 NotebookApp] Using existing profile dir: u'/root/.ipython/profile_default'
[I 10:35:24.872 NotebookApp] Using MathJax from CDN: https://cdn.mathjax.org/mathjax/latest
/MathJax.js
[I 10:35:24.891 NotebookApp] The port 8888 is already in use, trying another random port.
Traceback (most recent call last):
  File "/root/anaconda/bin/ipython", line 6, in <module>
    sys.exit(start_ipython())
  File "/opt/ipython/IPython/__init__.py", line 120, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "/opt/ipython/IPython/config/application.py", line 548, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "/opt/ipython/IPython/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/ipython/IPython/terminal/ipapp.py", line 322, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "/opt/ipython/IPython/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/ipython/IPython/core/application.py", line 378, in initialize
    self.parse_command_line(argv)
  File "/opt/ipython/IPython/terminal/ipapp.py", line 317, in parse_command_line
    return super(TerminalIPythonApp, self).parse_command_line(argv)
  File "<string>", line 2, in parse_command_line
  File "/opt/ipython/IPython/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/ipython/IPython/config/application.py", line 460, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
  File "<string>", line 2, in initialize_subcommand
  File "/opt/ipython/IPython/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/ipython/IPython/config/application.py", line 398, in initialize_subcommand
    self.subapp.initialize(argv)
  File "<string>", line 2, in initialize
  File "/opt/ipython/IPython/config/application.py", line 74, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/ipython/IPython/html/notebookapp.py", line 829, in initialize
    self.init_webapp()
   File "/opt/ipython/IPython/html/notebookapp.py", line 718, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/root/.local/lib/python2.7/site-packages/tornado/tcpserver.py", line 125, in listen
    sockets = bind_sockets(port, address=address)
  File "/root/.local/lib/python2.7/site-packages/tornado/netutil.py", line 137, in bind_soc
kets
    sock.bind(sockaddr)
  File "/root/anaconda/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 99] Cannot assign requested address

If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev@scipy.org

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    c.Application.verbose_crash=True  

有人可以建议我做错了什么吗? 端口8888已打开(我允许打开端口。)

另外,为了检查ipython是否可以从服务器设置中运行,我创建了另一个实例(一个新的快照)完全按照第一行给出的github链接给出的内容,我输入了以下内容: $ ipython notebook --profile = nbserver

服务器已启动。但是当我试图在浏览器上打开时出错了。这就是我在终端上看到的

2014-08-18 10:50:54.605 [NotebookApp] Using existing profile dir: u'/root/.ipython/profile_nbserver'
2014-08-18 10:50:54.612 [NotebookApp] Using MathJax from CDN: https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js
2014-08-18 10:50:54.631 [NotebookApp] Serving notebooks from local directory: /root/.ipython/profile_nbserver
2014-08-18 10:50:54.631 [NotebookApp] 0 active kernels
2014-08-18 10:50:54.631 [NotebookApp] The IPython Notebook is running at: https://[all ip addresses on your system]:1111/
2014-08-18 10:50:54.631 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
WARNING:tornado.general:SSL Error on 7 ('10.0.218.170', 55369): [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request

当我尝试打开它时,这就是我在本地系统浏览器上看到的内容:

502 Bad Gateway

openresty/1.5.11.1

谢谢, 劳斯

4 个答案:

答案 0 :(得分:5)

我有一个类似的问题,即使用Anaconda发行版从Ubuntu Server获取IPython / Jupyter。我得到了 error: [Errno 99] Cannot assign requested address

我能够通过改变trtm的答案来解决这个问题。我的解决方案是在配置文件中指出服务器的IP地址。此配置文件的位置取决于您使用的IPython或Jupyter Notebook的版本。

该文件的名称为ipython_notebook_config.pyjupyter_notebook_config.py。此文件可能不存在。查找或创建它取决于版本,但编辑是相同的。

对于IPython / Jupyter版本&lt; 4.0
使用以下命令创建文件:

ipython profile create    

文件位置为:~/.ipython/profile_default/ipython_notebook_config.py

对于Jupyter版本&gt; = 4.0
使用以下命令创建配置文件:

jupyter notebook --generate-config    

文件位置为:~/.jupyter/jupyter_notebook_config.py

要编辑文件,请添加此行。替换服务器设置的任何IP地址来收听。

c.NotebookApp.ip = '192.168.1.10'   

然后我可以通过将浏览器指向http://192.168.1.10:8888

来打开笔记本

答案 1 :(得分:4)

如果您尚未创建配置文件,请运行ipython profile create以创建配置文件。

从个人资料文件夹中打开ipython_notebook_config.py文件,然后编辑/取消注释笔记本服务器将侦听的IP地址。

  

c.NotebookApp.ip ='127.0.0.1'

答案 2 :(得分:0)

在配置文件中,添加

c.NotebookApp.ip='*'

而不是

c.NotebookApp.ip='your server ip'

这对我有用。

答案 3 :(得分:0)

这个问题开始出现在我的Dockerized jupyter笔记本中。解决方法是从--ip=<actual_IP_of_container>开始笔记本,我是通过使用ctrl+p+q从docker容器中弹出然后通过docker container inspect <container_id>找出ip来获得的。这与IPAddress字段一起丢弃了过多的信息。复制后,使用exec命令将其转到容器,并使用下面提到的命令启动笔记本。

然后启动笔记本,命令变为:jupyter notebook --ip=<IPAddress> --allow-root