簡體   English   中英

在 Mac 上的 Python 中使用 lxml 時收到“ImportError: cannot import name etree”

[英]Receiving 'ImportError: cannot import name etree' when using lxml in Python on Mac

我在 Mac 上為 Python 正確安裝 lxml 時遇到了困難。 我已經按照這里的說明進行操作,安裝后表明安裝成功(但是,有一些警告。安裝和警告的完整日志可以在這里找到)

運行安裝后,我嘗試在 lxml 安裝目錄中運行 Test.py 以確保它正常工作。 我立即收到錯誤提示:

ImportError"  cannot import name etree.  

此錯誤是由from lxml import etree行引起的。

我似乎無法弄清楚為什么它在看似成功的安裝后會在這里失敗。 請原諒我的無知,因為我通常不會用 Python 編程,當然也不會在 MAC 上編程(目前被迫這樣做)。

以供參考:

  • 蟒蛇版本:2.7.2
  • 蘋果操作系統 X 10.8.2

在此先感謝您的所有幫助。

聽起來您的路徑中還有另一個lxml 確保你引用的是正確的,它應該看起來像這樣:

>>> import lxml
>>> lxml
<module 'lxml' from '/path/to/lib/python2.7/site-packages/lxml/__init__.pyc'>

我和你有同樣的問題。

我的問題是我將我的一個 Python 文件命名為lxml.py

您應該始終檢查您的 Python 文件名是否與模塊沖突。

Microsoft Server Spyder IDE Python 3.7 和 Python 3.9

記錄這個因為我在谷歌/StackOverflow 等上找不到任何地方的解決方案。

關於 SharePlum、SharePoint 集成、問題

從 lxml 導入 etree 導入錯誤:無法導入名稱 etree

我在嘗試將 SharePlum 與 Spyder IDE 一起使用時遇到了同樣的問題。

我嘗試安裝、卸載和安裝以下版本,但均未成功 pip install shareplum pip install lxml

我安裝了 Python 3.9 和 Spyder IDE(我不知道,還安裝了它自己的 Python 3.7 版本——截至 2021 年 5 月 13 日的 Spyder 版本)。[即使 Spyder IDE 設置為搜索所有 python 包清單(例如 ../Python39/Lib/Site-Packages)包] 似乎有一個 Spyder 問題,Python 從其他路徑拉包。

解決方案,我已經卸載了所有 Python 和 Spyder IDE 安裝。

然后我只安裝了 Spyder IDE(它在它的路徑中嵌套了一個 python 安裝。然后我進入了路徑“.../Spyder/Python”,在那里你可以找到所有熟悉的 Python.exe 和其他熟悉的 Python 文件。我不得不使用此安裝的 Python 來安裝 Pip,然后我可以“pip install -r requirements.txt”——安裝 etree lxml 和其他好東西,如 SharePlum 等。

這似乎可以解決問題!

我在使用 PyCharm IDE v2021.2 和 Python 3.8 時遇到了同樣的問題

對我有用的是 PyCharm,

  1. 轉到首選項 - > Python解釋器,
  2. 卸載 lxml 包,
  3. 關閉並重啟 PyCharm,
  4. 安裝 lxml 包

不知道為什么它起作用了,但它確實起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM