什么会导致 Spyder 中的 packages/libraries 与使用 pip 时的不同?

What would cause the packages/libraries in Spyder to be different from the ones when using pip?

这个问题是在我尝试导入时出现的 pandas: df = pd.read_html('https://www.macrotrends.net/stocks/charts/BMO/Bank-of-Montreal/dividend-yield-history')

我收到错误信息: raise ImportError("lxml not found, please install it")

ImportError: lxml not found, please install it

然后我 pip lxml 进行安装,同样的错误。 然后我 pip3 lxml,同样的问题...

这让我陷入了安装和重新安装 lxml、pandas、html5lib、html 的困境 然后从我的机器以及 Spyder 中删除所有 Python,然后重新安装所有内容,但仍然遇到同样的错误“lxml not found...”

然后我在命令行、lxml 和 pandas 上做了 'pip list',我安装的所有其他东西都在那里。

我找到了一些代码来查找安装在 Spyder 上的所有 packages/libraries: 导入 pkg_resources

dists = [str(d).replace(" ","==") for d in pkg_resources.working_set]
for i in dists:
    print(i)

我得到:

runfile('C:/Users/Preston_Jarvis/untitled0.py', wdir='C:/Users/Preston_Jarvis')
zipp==3.4.1
yapf==0.31.0
wheel==0.36.2
webencodings==0.5.1
wcwidth==0.2.5
And so on...

Pandas 在那里,但是 lxml 或 html5lib 或 hmtl

可能是什么原因造成的?

谢谢

你是怎么安装Spyder的?您是使用安装程序还是使用 pip/conda 安装?你在哪里安装你的包 - 什么环境?

您使用 pip(例如 lxml)安装包的环境似乎与 Spyder 不同运行。参见 https://docs.spyder-ide.org/current/faq.html#using-existing-environment

请注意,要使 Spyder 与其他环境一起工作,您需要在此环境中安装 spyder-kernels(例如 pip install spyder-kernels