2

在 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

4 回答 4

5

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

于 2012-05-19T05:59:24.343 回答
4

在 Ubuntu 10.10 上,从存储库安装的 python 包安装到 /usr/lib/python2.6/dist-packages 所以一种选择是将此路径添加到您的 $PYTHONPATH 环境变量中,以便 python2.7 将查找 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 桌面的加载,我无法登录。我必须使用恢复控制台来修复这个语法错误,然后我才能再次登录。

这对我来说似乎有点骇人听闻,所以我有兴趣听到更好的解决方案。

于 2011-02-22T19:05:57.593 回答
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")

[来源]

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

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

于 2012-01-24T19:47:13.477 回答
0

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

于 2014-01-24T10:07:41.987 回答