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

时间:2013-10-30 17:29:40

标签: python macos python-2.7 pip ipython

使用iPython在Mac OS X Mountain Lion上安装了

pip。在终端中运行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

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

4 个答案:

答案 0 :(得分:9)

Jinja 2被列为可选依赖关系,请参阅iPython quickstart

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

pip install Jinja2

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

因此要安装ipython notebook的所有依赖项:

pip install ipython[notebook]

ipython已安装 plus 依赖项,或者如果您已安装ipython,则会添加缺少的软件包。

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

pip install ipython[all]

答案 1 :(得分:1)

笔记本需要Jinja2。

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

$ pip install ipython[notebook]

答案 2 :(得分:0)

在使用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

当我退出virtualenv时,我进入了deactivate并重新激活,一切都很开心:

(myvenv)$ ipython notebook
[I ... NotebookApp] Writing notebook server cookie secret ...

答案 3 :(得分:0)

遇到类似的问题,这是通过运行升级而创建的。

升级完成后,ipython notebook会抛出jinja错误。

如果您遇到这种情况,只需卸载jinja2 // Collect the contents of each region into an object we can send to the // server. var payload = {'__page__': window.location.pathname}; for (var name in regions) { payload[name] = regions[name]; } // Send the updated content to the server to be saved var req = $.ajax({ method: 'POST', url: '/x/save-page', data: payload }); req.done(function() { // Save was successful, notify the user with a flash new ContentTools.FlashUI('ok'); }); req.fail(function() { // Save failed, notify the user with a flash new ContentTools.FlashUI('no'); }); req.always(function() { // Make sure the editor is no longer set in a busy state ContentTools.EditorApp.get().busy(false); }); ,然后再pip uninstall ...。您可能会在另一个库上收到跟进错误。冲洗并重复,直到不再出现错误。

这解决了我的问题。