在 Mac OSX 上启动 iPython 时出错:没有名为 jinja2 的模块



iPython 是使用 pip 安装在 Mac OS X Mountain Lion 上的。在终端中运行ipython notebook时,出现错误

...
File "/Users/god/.virtualenvs/datasci/lib/python2.7/site-packages/IPython/html/notebookapp.py", line 38, in <module>
from jinja2 import Environment, FileSystemLoader
ImportError: No module named jinja2

问:这里的问题是什么,我们应该如何解决?

Jinja 2 作为可选依赖项列出,请参阅 iPython 快速入门。

必须单独安装可选依赖项:

pip install Jinja2

您可以将此类依赖项安装为 ipython 的可选功能组。使用这些依赖项可以安装该功能所需的依赖项;这些组中的每一个都可以安装pip install ipython[groupname]

  • notebook : 用于基于 Web 的笔记本
  • qtconsole : 用于Qt控制台
  • parallelzmq:用于 ZMQ 消息传递支持(单独的可共享内核)
  • doc:生成文档所需的工具
  • test:运行测试套件的依赖项
  • nbformat:用于生成笔记本交换格式的依赖项
  • nbconvertnbconvert工具将笔记本格式转换为其他格式的依赖项。

因此,要安装所有依赖项以供ipython notebook使用:

pip install ipython[notebook]

并且安装了ipython以及依赖项,或者如果您已经安装了ipython,它将添加缺少的包。

或者,使用以下命令安装所有可选依赖项:

pip install ipython[all]

笔记本需要 Jinja2。

要仅安装 IPython 笔记本电脑所需的组件,请使用

$ pip install ipython[notebook]

在使用 virtualenv 时刚刚遇到了一个非常相似的问题,并认为在这里找到答案会很有用。就我而言,我刚刚安装了 ipython[notebook],但它仍然无法正常工作:

(myvenv)$ ipython notebook
...
from jinja2 import Environment, FileSystemLoader
ImportError: No module named jinja2
(myvenv)$ pip install jinja2
Requirement already satisfied (use --upgrade to upgrade): jinja2 in ./luigi/lib/python2.7/site-packages

当我退出虚拟环境并重新激活deactivate时,一切都很高兴:

(myvenv)$ ipython notebook
[I ... NotebookApp] Writing notebook server cookie secret ...
遇到通过

运行升级创建的类似问题。

一旦升级完成,ipython笔记本将抛出上面的jinja错误。

如果您遇到这种情况,只需卸载 jinja2 pip uninstall ... ,然后pip install Jinja2 .您可能会在另一个库上收到后续错误。冲洗并重复,直到不再出现错误。

这解决了我的问题。

最新更新