某些软件包可以导入,而其他软件包则不能。为什么?

时间:2020-05-28 23:55:48

标签: python importerror

我安装的软件包在Jupyter Notebooks中工作正常,但是当我尝试在Sublime Text中导入相同的软件包时,出现以下错误消息:

ImportError: No module named flask
有趣的是,有些软件包(如matplotlib和numpy)可以毫无问题地导入,而有些软件包(如flask和networkx)则可以。 我目前正在使用Python版本3.7.6,并且尝试了sudo和pip3安装。
任何人都知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

听起来您是在Jupyter运行的环境中安装了这些软件包,而不是在Sublime Text运行的环境中安装了这些软件包。

为了能够在不同项目上使用不同的软件包组合,通常将python软件包安装到环境中(通常可以是“虚拟环境”,尽管可能还有其他环境)。听起来好像flask和networkx是通过这种方式安装的,所以您只能从Jupiter“项目”中获得它们,而不能从Sublime Text“项目”中获得它们。默认情况下可能会安装matplotlib和numpy库。

两种解决方案,具体取决于情况:

  • 更改Jupyter和/或Sublime Text中的配置,使它们使用相同的环境(因此它们是同一项目)。如果您将它们都运行在同一台计算机上,则这是最实际的做法,因为您将确保两个地方使用的相同软件包的版本相同。

OR

  • 在Sublime Text环境中重复执行flask和networkx的安装。这将意味着它们是单独的项目,但是如果您不确定设置还是Jupyter在Sublime Text以外的计算机上运行,​​则可能最实用。您必须确保将来匹配任何软件包升级或安装。