Python导入错误“;没有名为“模板”的模块;
使用virtualenv,它(我认为)可以工作,但没有任何运气尝试导入模块。 在makotest.py文件中,我有:Python导入错误“;没有名为“模板”的模块;,python,linux,python-2.7,virtualenv,mako,Python,Linux,Python 2.7,Virtualenv,Mako,使用virtualenv,它(我认为)可以工作,但没有任何运气尝试导入模块。 在makotest.py文件中,我有: from mako.template import Template 位于我的主文件夹中,virtualenv位于文件夹:venv中 安装的mako刚刚好,pip冻结: Mako==1.0.0 MarkupSafe==0.23 argparse==1.2.1 wsgiref==0.1.2 在外壳中,我看到了(venv),所以它应该正常工
from mako.template import Template
位于我的主文件夹中,virtualenv位于文件夹:venv中
安装的mako刚刚好,pip冻结:
Mako==1.0.0
MarkupSafe==0.23
argparse==1.2.1
wsgiref==0.1.2
在外壳中,我看到了(venv),所以它应该正常工作?
我运行了一个激活了它的系统路径,得到:
'/home/username'
'/home/username/venv/lib/python2.7'
'/home/username/venv/lib/python2.7/plat-x86_64-linux-gnu'
'/home/username/venv/lib/python2.7/lib-tk'
'/home/username/venv/lib/python2.7/lib-old'
'/home/username/venv/lib/python2.7/lib-dynload'
'/usr/lib/python2.7'
'/usr/lib/python2.7/plat-x86_64-linux-gnu'
'/usr/lib/python2.7/lib-tk'
'/home/username/venv/local/lib/python2.7/site-packages'
'/home/username/venv/lib/python2.7/site-packages'
在该site packages文件夹中,有一个带有template.py/pyc以及init文件的“mako”文件夹
但每次运行“pythonmakotest.py”时,我都会得到导入错误。
完全没有主意了,请帮帮我~
使用回溯更新:
Traceback (most recent call last):
File "makotest.py", line 1, in <module>
from mako.template import *
File "/home/username/venv/makotest.py", line 1, in <module>
from mako.template import *
ImportError: No module named template
回溯(最近一次呼叫最后一次):
文件“makotest.py”,第1行,在
从mako.template导入*
文件“/home/username/venv/makotest.py”,第1行,在
从mako.template导入*
ImportError:没有名为template的模块
您的问题缺少完整的python回溯,因此我只能根据自己的理解来回答
事实上,您的cwd(以及pythonpath)包含一个mako.py文件,这正是您被绊倒的地方。尝试重命名它,首先删除home目录中的mako.pyc,然后重新运行它
基本上,python试图从mako.py文件导入,而不是从站点包中的mako.py目录导入
请参见下面的示例:
-bash-4.1$ bin/pip freeze
#...
mock==1.0.1
#..
-bash-4.1$ bin/python
Python 2.7.3 (default, Apr 10 2013, 09:39:41)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mock import patch
in mock.py
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mock.py", line 3, in <module>
from mock import patch
ImportError: cannot import name patch
>>>
-bash-4.1$ mv mock.py mock2.py
-bash-4.1$ rm mock.pyc
-bash-4.1$ bin/python
Python 2.7.3 (default, Apr 10 2013, 09:39:41)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mock import patch
>>> patch
<function patch at 0x7f8276a4a7d0>
-bash-4.1$bin/pip冻结
#...
模拟==1.0.1
#..
-bash-4.1$bin/python
Python 2.7.3(默认值,2013年4月10日,09:39:41)
[GCC 4.4.6 20110731(Red Hat 4.4.6-3)]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从模拟导入补丁
在mock.py中
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“mock.py”,第3行,在
从模拟导入补丁
ImportError:无法导入名称修补程序
>>>
-bash-4.1$mv mock.py mock2.py
-bash-4.1$rm mock.pyc
-bash-4.1$bin/python
Python 2.7.3(默认值,2013年4月10日,09:39:41)
[GCC 4.4.6 20110731(Red Hat 4.4.6-3)]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从模拟导入补丁
>>>补丁
等等,我很困惑。您的目录结构是什么样子的?因为当我把所有的mako文件都保存在我的venvalso中时,这对我来说很有用。。。你激活了你的虚拟电视吗?@Greg-yup!嗯,使用:$source bin/activateAh抱歉,mako.py正是我命名的测试文件,哈哈。我清理了它并添加了trace.ahhh nvm,我认为命名为mako.py是导致问题的原因,当我第一次开始测试时,我称它为makotest.py,但后来我对输入这个有点厌倦了,哈哈。懒惰。。。。。。