如何在Ubuntu 10.10上安装Python 2.7的模块?

时间:2011-02-22 18:44:10

标签: lxml ubuntu-10.10 python-2.7

在Ubuntu 10.10上,我无法将lxml安装到python 2.7。以下是我采取的步骤。

sudo su -
apt-get install python2.7
apt-get install python-lxml

请注意,在运行python-lxml软件包的安装时,会出现以下内容:

INFO: using unknown version '/usr/bin/python2.7' (debian_defaults not up-to-date?)"

在python2.6中导入模块(Ubuntu标配的版本)可以正常工作。但是,在python2.7下导入模块则不行。那么如何将Python模块安装到非默认的Python安装中呢?

4 个答案:

答案 0 :(得分:5)

尝试安装libxml2, libxml2-dev, libxslt, libxslt-dev, python-dev。这些是头文件。然后尝试再次安装lxml

答案 1 :(得分:4)

在Ubuntu 10.10上,从存储库安装的python包安装到/usr/lib/python2.6/dist-packages,因此一个选项是将此路径添加到$ PYTHONPATH环境变量中,以便python2.7查看libs的python2.6目录。

我在Ubuntu 10.10上所做的就是添加

export PYTHONPATH="$PYTHONPATH:/usr/lib/python2.6/dist-packages"

到我的.bashrc文件,也到我的.gnomerc文件。这为从shell或gnome桌面启动的python实例设置了$ PYTHONPATH。然后,您应该能够从python2.7中的Ubuntu存储库导入已安装的python库。

.bashrc和.gnomerc都位于您的主目录中;如果它还不存在,您可能必须创建.gnomerc。还有一点需要注意:我的.gnomerc中出现了语法错误,导致gnome桌面停止加载,我无法登录。我不得不使用恢复控制台修复此语法错误,然后我可以再次登录。 / p>

这对我来说似乎有点迟钝,所以我有兴趣听听更好的解决方案。

答案 2 :(得分:0)

另一种解决方案可能是使用以下代码:

try:
  from lxml import etree
except ImportError:
  try:
    # Python 2.5
    import xml.etree.cElementTree as etree
  except ImportError:
    try:
      # Python 2.5
      import xml.etree.ElementTree as etree
    except ImportError:
      try:
        # normal cElementTree install
        import cElementTree as etree
      except ImportError:
        try:
          # normal ElementTree install
          import elementtree.ElementTree as etree
        except ImportError:
          print("Failed to import ElementTree from any known place")

[Source]

如果可用,则导入lxml,否则导入原始ElementTree。

我在Google App Engine上使用此代码(使用Python 2.7):在服务器上它将使用lxml,在我的机器上它将使用ElementTree。

答案 3 :(得分:0)

我有一个最简单的技巧只需在搜索框中打开synaptic包管理器类型“python-lxml”,它将显示所有依赖项和可用包选择要安装的包并点击应用。