【问题标题】:lxml cannot import element etreelxml 无法导入元素 etree
【发布时间】:2014-03-13 19:14:58
【问题描述】:
  1. 我下载了lxml的源码。
  2. 然后解压
  3. 键入“python setup.py install”。

==> 一切正常。

但现在输入:

import lxml

我明白了:

Traceback (most recent call last):
  File "lxml.py", line 1, in <module>
    from lxml import etree
  File "/Soft/fox_dev/dev/ut1u3h/dev/lxml.py", line 1, in <module>
    from lxml import etree
ImportError: cannot import name etree

在您向我提供任何解决方案之前,我必须告诉您,我们的系统管理员和网络管理员是控制/安全怪胎。

  1. 我不是root
  2. 我无法访问公司以外的任何 URL(从我尝试安装 lxml 的服务器)

例如我尝试安装 pip:

>> python get-pip.py
Downloading/unpacking pip
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement pip
Cleaning up...
No distributions at all found for pip
Storing debug log for failure in /Home/ut1u3h/.pip/pip.log

我有一台可以访问网络的 Windows 机器。然后我可以通过 sftp 将文件从它传输到 linux 服务器。

任何想法/解决方案?

编辑

好的,我试过了:http://lxml.de/build.html

第一:

make inplace
python setup.py install

现在,如果取决于我打开 python 解释器的路径,它要么工作,要么我得到上述错误。我也添加了 pythonpath 的源代码......但它并没有改变任何东西!

EDIT2:解决方案

请不要伤害我...最终解决方案:不要将名为 lxml.py 的文件放在您尝试从中导入 lxml 的目录中...而是将您的测试命名为 lxml_test.py !!!

【问题讨论】:

  • 也许将输出文件夹添加到您的 python 路径,而不是源文件夹?
  • 输出文件夹是什么?有so文件的那个?
  • 我看到你解决了这个问题,但还有一个问题:你不是root,你是怎么安装的?在 virtualenv 里面?
  • 好吧,我将 tarball 复制到了我可以复制的地方。然后我做了“就地制作”和“设置安装”步骤。请注意,我的 python 站点包不在它通常的位置,而是在我可以到达的路径中,我将其添加到我的 pythonpath 中。
  • +1 用于发现与运行“import lxml”的脚本在同一目录中具有文件名“lxml.py”会做坏事。这也是我的问题。

标签: python lxml


【解决方案1】:

可能您将默认的python版本python2.7更改为python3.6之类的其他版本,因为我们都知道两个版本之间的某些模块是不同的,并且某些模块与python3+一起工作不好,所以您可以将您的python版本重置为2.7

如果你使用的是ubuntu,你可以这样做:

$ rm /usr/bin/python
$ ln -s /usr/bin/python2.7 /usr/bin/python

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 2021-05-29
    • 1970-01-01
    • 2019-11-11
    • 2014-09-01
    • 2014-07-27
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    相关资源
    最近更新 更多