栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何为Django设置Jupyter / IPython Notebook?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何为Django设置Jupyter / IPython Notebook?

只是为了完整性(但现在是2018年,所以自发布此问题以来,情况可能有所变化):你实际上可以在Django环境中安装Jupyter Python内核,然后将其连接(运行在)另一台Jupyter服务器/环境(你在其中运行ve安装了小部件,扩展程序,更改了主题等)。

django_extensions
现在仍然只做部分必要的工作:-)

假设你拥有一个与Django分开的Jupyter虚拟环境,并且其内核/扩展安装了

--user
。所有Jupyter扩展(及其依赖项)都安装在此venv中,而不是Django的一个(一个)(如果需要将它们与Django代码一起使用,则在Django环境中仍然需要熊猫,matplotlib等)。

在Django虚拟环境(可以运行其他版本的Python,包括版本2解释器)中,安装ipython内核:

pip install -U ipykernelipython kernel install --user --name='environment_name' --display-name='Your Project'

这将在用户的Jupyter内核目录中创建具有指定名称的内核配置目录(在Linux ~/.jupyter/上是OSX,而​​在OSX上~/Library/Jupyter/),其中包含其kernel.json文件和图像/图标(默认情况下,内核的默认Jupyter图标)。重新安装)。该内核将在创建时处于活动状态的虚拟环境中运行,从而使用完全相同的python版本以及Django项目使用的所有已安装模块。

运行的

./manage.py shell_plus --notebook
功能非常相似,但是除了需要在当前venv中安装所有内容(包括Jupyter服务器和所有扩展)之外,它还无法在与项目根目录(包含根目录)不同的目录中运行笔记本
./manage.py
。另外,它将使用在路径上找到的第一个可执行文件python运行内核,而不是虚拟环境的可执行文件,从而使内核在不从活动Django虚拟环境内的命令行启动时表现异常。

为了解决这些问题,以便我们能够在配置好的任何Django项目中运行一个Notebook,并能够运行存储在文件系统上任何位置的Notebook,我们需要:

  1. 确保第一个’argv’参数包含虚拟环境中包含的python解释器的完整路径
  2. 添加(如果尚未存在)将包含外壳环境变量的“ env”部分,然后使用它们来告诉Python在哪里可以找到我们的项目以及应使用的Django设置。为此,我们添加了以下内容:
   "env": {      "DJANGO_SETTINGS_MODULE": "my_project.settings",      "PYTHONPATH": "$PYTHONPATH:/home/projectuser/projectfolder/my_project"   }

可选:将“ display_name”更改为人性化并替换图标。
编辑此环境kernel.json文件,你将看到类似的内容:

{ "display_name": "My Project",  "language": "python",  "env": {  "DJANGO_SETTINGS_MODULE": "my_project.settings",  "PYTHONPATH": "$PYTHONPATH:/home/projectuser/projectfolder/my_project" }, "argv": [  "/home/projectuser/.pyenv/versions/2.7.15/envs/my_project_venv/bin/python",   "-m",   "ipykernel_launcher",   "-f",   "{connection_file}",  "--ext",  "django_extensions.management.notebook_extension" ]}

值得注意的行:

  • “ DJANGO_SETTINGS_MODULE”:“ my_project.settings”:你的设置,通常在项目的manage.py内部看到

  • “ PYTHONPATH”:“ $ PYTHONPATH:/ home / projectuser / projectfolder / my_project”:PYTHONPATH已扩展为包含项目的主目录(包含manage.py的主目录),因此即使未在内核中运行该设置也可以找到确切的目录(这里django_extensions将使用通用的目录python,因此将运行错误的虚拟环境,除非从内部启动了整个Jupyter服务器:将其添加到django_extensions创建的kernel.json中将使其能够在Django项目目录中的任何位置运行笔记本)

  • “ /home/projectuser/.pyenv/versions/2.7.15/envs/my_project_venv/bin/python”:内核执行的第一个参数(argv列表)应该是项目虚拟环境的python解释器的完整路径(这是另一件事是django_extensions弄错了:修复此问题将允许任何笔记本服务器运行带有所有已安装模块的特定Django环境的内核)

  • “ django_extensions.management.notebook_extension”:这是将在笔记本中加载’shell_plus’功能的扩展名(可选,但有用:-))



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393891.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号