【问题标题】:Jupyter notebook hanging due to Django runserver由于 Django 运行服务器,Jupyter 笔记本挂起
【发布时间】:2020-11-06 09:59:51
【问题描述】:

前段时间我做了一个简单的 Django 应用程序。最近,我开始为 Python 使用 Jupyter 笔记本,我想知道我是否可以从这样的笔记本运行我的应用程序。为了测试这一点,我打开了一个新笔记本并导航到应用程序的顶级目录:

%cd d:\adressen

为了查看应用程序是否可以从笔记本运行,我首先尝试了:

!py manage.py makemigrations

它应该返回:

No changes detected

到目前为止一切顺利。现在启动服务器:

!py manage.py runserver

从某种意义上说,什么也没发生。没有输出,单元格标签仍显示为In[*]。尽管如此,服务器仍在运行,因为如果我在我的网络浏览器中打开页面 http:\\localhost:8000,我的应用程序就会启动并且所有功能都可以正常工作。

我不明白为什么在笔记本中makemigrations 处理正确,而runserver 使其挂起。 Jupyter 控制台没有显示任何可能出错的地方。

在查看了有关 Jupyter 和 Django 的其他一些问题和答案后,我安装了 django-extensions 并将其包含在已安装的应用程序中。那没有帮助。当我使用 python manage.py shell_plus --notebook 启动 Jupyter 时,打开一个新笔记本并使用相同的命令,同样的情况会发生。

非常感谢任何有关为什么会发生这种情况以及如何克服它的建议。

【问题讨论】:

    标签: django jupyter-notebook jupyter


    【解决方案1】:

    我想我终于找到了这里发生的事情以及如何克服它。

    使用 Jupyter shell 命令!py manage.py runserver Django 确实启动了服务器,但也想写入控制台。没有控制台,所以 Jupyter 似乎挂了。

    当我们使用 !start py manage.py runserver 时,不仅 Django 启动服务器,而且打开一个控制台,我们在打开服务器时看到标准 Django 输出。

    通过这种方式,我可以将 Jupyter notebook 用作 Django 项目的 IDE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 2018-09-23
      • 2020-11-18
      • 2021-07-12
      相关资源
      最近更新 更多