【问题标题】:Can't import jinja2无法导入jinja2
【发布时间】:2014-11-03 12:40:43
【问题描述】:

我通过pip安装了jinja2,但是在自己编译的python 2.7.8中,无法导入模块。 (Ubuntu 14.04自带的默认版本是2.7.6,可以导入jinja2)

[drizzlex@dx ~]
$ ls /usr/local/lib/python2.7/dist-packages/
easy-install.pth          markupsafe/               netaddr-0.7.12.egg-info/
jinja2/                   MarkupSafe-0.23.egg-info/ 
Jinja2-2.7.3.egg-info/    netaddr/     



[drizzlex@dx ~]
$ ls -l `which python`
lrwxrwxrwx 1 root root 22 Nov  3 20:13 /usr/local/bin/python -> /usr/local/bin/python2

[drizzlex@dx ~]
$ python
Python 2.7.8 (default, Nov  2 2014, 01:04:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import jinja2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named jinja2
>>> 

请给我一些帮助。

【问题讨论】:

    标签: python pip jinja2


    【解决方案1】:

    dist-packages 是 Debian 特定的 Python 增强功能,仅存在于随发行版安装的 Python 版本上 - 并且包含由系统包管理器安装的库。您自己遵守的版本对此一无所知。您需要使用 pip 安装单独版本的 Jinja2(最好使用 virtualenv)。

    【讨论】:

    • Pip 会将 jinja2 安装到 /usr/local/lib/python2.7/dist-packages,虽然我的默认 python 现在是 2.7.8。
    • 您需要为新版本的 Python 安装 pip。 (虽然每个点版本没有单独的包目录,但您的包将安装在 python2.7/site-packages 中)。
    • 我想这次我会删除python 2.7.8并使用virtualenv。
    • 我使用 pip 安装了 jinja2 但无法导入它,它并没有真正安装它(sudo pip install jinja2)。所以我必须指定目标并且它有效( sudo pip install --target /usr/local/lib/python2.7/dist-packages/jinja2 )。它曾经可以工作,但现在无法使用 pip 安装任何东西。即使它认为它安装它,它也没有。这为我解决了这个问题:stackoverflow.com/questions/16712468/…
    【解决方案2】:

    您可能应该查看自编译 Python 2.7.8 使用的sys.path

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 2013-03-22
      • 2022-06-19
      • 2013-10-11
      • 1970-01-01
      相关资源
      最近更新 更多