模块导入错误Python

时间:2011-09-26 16:05:57

标签: python module lxml importerror

我刚安装了 lxml 来解析python中的xml文件。我使用 TextMate 作为IDE。问题是,当我尝试导入lxml (from lxml import entree)时,我得到了

ImportError :'没有名为lxml的模块'

但是当我使用终端时,一切都很好

Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import etree
>>> root=etree.element("root")
>>> root=etree.Element("root")
>>> print (root.tag)
root
>>> root.append(etree.Element("child1"))
>>> child2 = etree.SubElement(root, "child2")
>>> child3 = etree.SubElement(root, "child3")
>>> print (etree.tostring(root,pretty_print=True))
<root>
  <child1/>
  <child2/>
  <child3/>
</root>

这很奇怪。它与TextMate有关吗?

建议请!

4 个答案:

答案 0 :(得分:3)

这很可能意味着您的系统上安装了多个python,默认情况下TextMate和终端使用不同的安装。

一种解决方法:在你的python文件中,你可以指定一个解释器指令来指向你选择的python安装(和可执行文件):

#!/usr/local/bin/python
# Even thought standard python is in /usr/bin/python, here we want another ...

答案 1 :(得分:2)

你需要在TextMate的设置中定义shell变量,特别是'TM_PYTHON'需要指向你的Python二进制文件。

要在终端中找到您使用的Python,可以输入'which python'

答案 2 :(得分:1)

TextMate可能正在使用与您的终端不同的PYTHONPATH。我不是TextMate用户,所以我无法帮助你,但它应该指向正确的方向。

答案 3 :(得分:0)

您可能正在从TextMate运行不同版本的Python。我有一个类似的问题,RedHat有两个版本的Python。我已经将模块安装到一个模块,但是试图用另一个模块执行。