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
问题:这里有什么问题,我们应该如何解决?
答案 0 :(得分:9)
Jinja 2被列为可选依赖关系,请参阅iPython quickstart。
您必须单独安装可选的依赖项:
pip install Jinja2
您可以为ipython
安装此类依赖项作为可选功能组。使用这些可以安装该功能所需的依赖项;这些组中的每一个都可以使用pip install ipython[groupname]
安装:
notebook
:适用于webbased notebook qtconsole
:适用于Qt console parallel
或zmq
:用于ZMQ消息支持(separate sharable kernel)doc
:生成文档所需的工具test
:运行测试套件的依赖项nbformat
:用于生成notebook interchange format nbconvert
:nbconvert
tool的依赖关系,将笔记本格式转换为其他格式。因此要安装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 ...
。您可能会在另一个库上收到跟进错误。冲洗并重复,直到不再出现错误。
这解决了我的问题。