ImportError : 无法在 linux 上从 <module> 导入名称 <method>

Posted

技术标签:

【中文标题】ImportError : 无法在 linux 上从 <module> 导入名称 <method>【英文标题】:ImportError : cannot import name <method> from <module> on linux 【发布时间】:2021-11-14 03:07:17 【问题描述】:

我正在实现一种算法,该算法可以在 Windows 上运行,而我现在需要在 Linux 上运行。它是用 Python 3.7 编写的(但我让它在 Windows 上用 Python 3.4 运行并且它可以工作)。

现在,正如我所说,我想在 Linux 上运行该算法,但是当我运行启动整个算法的 .py 文件时,我收到一条错误消息:

ImportError : cannot find name 'etree' from 'lxml' (/lib/Python-3.7.4/Lib/lxml/__init__.py)

我不知道如何解决这个错误:lxml 库确实存在于指定的路径中,我安装了 Python 3.7(因为我最初尝试使用 Python 3.8 运行它,然后尝试 3.4,因为它在 Windows 上运行,但每次它都无法从一个或另一个库中找到某种方法...)

【问题讨论】:

尝试创建一个虚拟环境并在其中安装库 lxml 是第三方库(即不是标准库的一部分),因此您需要手动下载并安装在您希望使用它的任何系统上。 【参考方案1】:

您需要安装该库,因为它不是标准 Python 库的一部分,您可以通过运行以下命令使用 PIP 安装它:

$ pip install lxml

【讨论】:

感谢您的回答!如果我运行您共享的命令,它会返回:Requirement already satisfied : lxlm in &lt;PATH to python3.8&gt; 但我认为我需要在 python 3.4 中安装它。如何指定要安装哪个版本的 Python 的 lxml 库? (我的虚拟机上安装了 4 个不同版本的 Python……)

以上是关于ImportError : 无法在 linux 上从 <module> 导入名称 <method>的主要内容,如果未能解决你的问题,请参考以下文章

无法导入 Torch (ImportError: libcudart.so.10.0)

Python3.6 ImportError:无法导入名称'main'Linux RHEL6

Pygame:ImportError:libSDL_ttf-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录

ImportError:无法在 IPython 中导入名称“SparkContext”

ImportError:无法导入名称 QtGui

ImportError:无法导入设置(是不是在 sys.path 上?设置文件中是不是存在导入错误?):没有名为 setting 的模块