有些包可以导入,有些则不能。为什么?

Some packages can be imported others cannot. Why?

我安装的包在 Jupyter Notebooks 中完美运行,但是当我尝试在 Sublime Text 中导入相同的包时,我收到以下错误消息:

ImportError: No module named flask

有趣的是,有些包(如 matplotlib 和 numpy)导入没有问题,但有些包(如 flask 和 networkx)则没有。 我目前使用的是 Python 版本 3.7.6,我已经尝试过 sudo & pip3 install。
有人知道发生了什么事吗?

这听起来像是您在 Jupyter 为 运行 的环境中安装了这些软件包,但没有在 Sublime Text 为 运行 的环境中安装。

为了能够在不同的项目上使用不同的包组合,python 个包通常被安装到一个环境中(通常是 "virtual environment",尽管也可能有其他的)。听起来 flask 和 networkx 是以这种方式安装的,所以你只能从你的 Jupiter "project" 而不是你的 Sublime Text "project" 获得它们。可能默认安装了 matplotlib 和 numpy 库。

两种方案,视情况而定:

  • 更改 Jupyter and/or Sublime Text 中的配置,以便它们使用相同的环境(因此它们是相同的项目)。如果您在同一台计算机上同时安装它们 运行,这是最实用的,因为您可以确保在这两个地方使用相同版本的相同软件包。

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