尽管已安装,但无法在 .py 脚本中导入 plotly.express
Posted
技术标签:
【中文标题】尽管已安装,但无法在 .py 脚本中导入 plotly.express【英文标题】:Can't import plotly.express in .py script despite being installed 【发布时间】:2021-01-18 09:42:26 【问题描述】:在它被标记为重复之前,我已经为此苦苦挣扎了很长一段时间,并尝试了我在网上找到的所有故障排除选项。希望有人知道发生了什么。
当我尝试执行 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。
我看到的错误修复都指向没有安装,而是通过 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 脚本中而不是在笔记本中本地使用。
我不确定此时还可以尝试什么,所以如果有人有任何指示,将不胜感激。
【问题讨论】:
您好,欢迎您。你也可以检查你的路径吗?那可能不一样。 ***.com/questions/1489599/… 尝试以编程方式列出已安装的包from pip import _internal _internal.main(['list'])
【参考方案1】:
您的脚本名为plotly.py
。当您运行脚本时,Python 会将其目录添加到 sys.path
,因此 import plotly
会导入脚本。没有报告错误,但它导入了错误的plotly
。
import plotly.express
在sys.path
中搜索plotly
,找到脚本,尝试导入plotly.express
并失败。
底线:重命名脚本并记住永远不要将脚本命名为与现有模块和包相同的名称。例如,切勿将脚本命名为 email.py
或 test.py
。
【讨论】:
谢谢!这成功了。我最初做了一个保存,但它没有工作,但后来删除 plotly.py 文件使它工作 - 这是有道理的。我绝对不会将我的脚本命名为与模块名称相同的名称。再次感谢。 哇...追这个导入错误一个小时了。这对我来说也是如此。以上是关于尽管已安装,但无法在 .py 脚本中导入 plotly.express的主要内容,如果未能解决你的问题,请参考以下文章
cx_Oracle 无法在 Python 3.9 中导入,尽管一切都已正确路径并且所有必需的部分都在 64 位上运行
dlib 已安装但无法在 spyder 或 anaconda 中导入
无法在 Python 中导入位置设置为 PYTHONPATH 的模块