尽管已安装,但无法在 .py 脚本中导入 plotly.express

Can't import plotly.express in .py script despite being installed

在这被标记为重复之前,我已经为此苦苦思索了一段时间,并尝试了我在网上找到的所有故障排除选项。希望有人知道发生了什么事。

当我尝试执行 plotly.express 导入时,它失败并出现以下错误:

File "/mnt/e/Backup/facebook/plotly.py", line 2, in <module>
    import plotly.express as px
ModuleNotFoundError: No module named 'plotly.express'; 'plotly' is not a package

如果我尝试 import plotly 我没有收到任何错误,但是我无法使用 plotly.express。

我看到的错误修复都指向未安装 plotly 并通过 pip 进行安装。 运行 pip3 list 说明 plotly 已安装。

ahren@AhrBeast:~$ pip3 list | grep plotly
plotly                 4.11.0              
plotly-express         0.4.1  

从终端导入 plotly.express 工作正常:

ahren@AhrBeast:~$ python3
Python 3.8.2 (default, Jul 16 2020, 14:00:26) 
[GCC 9.3.0] on linux
>>> import plotly.express as px
>>> px.data.iris()
     sepal_length  sepal_width  petal_length  petal_width    species  species_id
0             5.1          3.5           1.4          0.2     setosa           1
1             4.9          3.0           1.4          0.2     setosa           1
...

因为 plotly.express 从终端工作,我想也许 VSCode 是 运行 我的代码在与终端不同的环境中,但事实似乎并非如此。

#!/usr/bin/env python3
import sys
print(sys.executable)

结果:/usr/bin/python3 终端也是如此

>>> import sys
>>> print(sys.executable)
/usr/bin/python3

最后我尝试设置一个 Jupyter 笔记本并让 plotly.express 在那里工作(通过 Anaoconda 在 Windows 上使用不同的环境),但需要能够在我的 .py 脚本中本地使用 plotly在笔记本中。

我不确定此时还可以尝试什么,所以如果有人有任何指示,我们将不胜感激。

您的脚本名为 plotly.py。当您 运行 脚本 Python 将其目录添加到 sys.path 因此 import plotly 导入脚本。没有报告错误,但它导入了错误的 plotly.

import plotly.expresssys.path 中搜索 plotly,找到脚本,尝试导入 plotly.express 但失败。

底线:重命名脚本并记住永远不要将脚本命名为隐藏现有模块和包的相同名称。永远不要将您的脚本命名为 email.pytest.py,例如