导入错误:找不到mako.template模块。

3

这是我 foobar.py 文件中的一行代码:

from mako.template import *

出现以下错误:

ImportError: No module named mako.template

我该怎么办?我的Python控制台中的help('modules')repr(mako)都告诉我mako模块已安装并可用。

顺便说一下,我在Mac上运行Python 2.6进行这个项目。

按要求,这是运行pip freeze的输出

  • Mako==0.8.1
  • MarkupSafe==0.18
  • PyYAML==3.10
  • wsgiref==0.1.2

按要求,这是我的sys.path

['', '/Users/username/env/myProject/lib/python26.zip', '/Users/username/env/myProject/lib/python2.6', '/Users/username/env/myProject/lib/python2.6/plat-darwin', '/Users/username/env/myProject/lib/python2.6/plat-mac', '/Users/username/env/myProject/lib/python2.6/plat-mac/lib-scriptpackages', '/Users/username/env/myProject/Extras/lib/python', '/Users/username/env/myProject/lib/python2.6/lib-tk', '/Users/username/env/myProject/lib/python2.6/lib-old', '/Users/username/env/myProject/lib/python2.6/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/Users/username/env/myProject/lib/python2.6/site-packages']


它在我的Linux上运行良好。 - nicolas.leblanc
1
你的 build.py 目录下没有一个名为 mako.py 的文件,是吗? - Amber
是的,这可能是一个有效的原因,Amber。 - DevLounge
@Amber 不,那个目录里只有一个 .py 文件。 - o01
请粘贴您的PYTHONPATH或sys.path的输出,以及pwd和ls的输出。 - DevLounge
显示剩余3条评论
1个回答

1
你的.env/lib/python2.6/site-packages/mako目录中是否有template.py文件?
你是否在使用虚拟环境,或者已经在/Library/Python/2.6/site-packages中安装了mako?
请粘贴pip freeze的输出结果。

更新:

您是否检查了此导入行中是否存在CR / LF或错误字符?

您的foobar.py文件的编码是什么?

file -I foobar.py

它应该包含 utf-8ascii

是的,template.py和template.pyc都在那里列出。 - o01
哦,那就有另一个意外的行为。 你的PYTHONPATH是什么? - DevLounge
我正在使用virtualenv。等一下,我会更新问题并附上输出。 - o01
文件 -I foobar.py 给出 charset=us-ascii。 - o01
2
糟糕,我想我找到了问题所在。运行foobar.py文件的Python二进制文件与我在虚拟环境中使用的不同。因此,虚拟环境的Python二进制文件可以访问安装在其中的所有模块,但从未被使用过。我很抱歉浪费了您的时间。非常感谢您的帮助。现在问题已经解决了。 - o01
1
没问题,很高兴你找到了。因为我已经没有更多的想法了;-) - DevLounge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接