dgl import error

今天用pycharm远程链接autodl跑含有dgl的代码的时候,接连出现了几个import error

一开始是cannot import max_nodes from dgl.batched_graph

后来是modulenotfounderror: no module named 'dgl.nn.pytorch.conv'

最初我以为是dgl版本问题,但是下了几个版本都不行

然后我检查了python目录下的site-packages,进入dgl目录里面发现上述要导的其实都有,不知道为什么导不进去,特别是第一个,代码其实同时导入了mean_nodes和max_nodes,而且dgl包里面两个函数都有,但奇怪的是,前者可以导入后者不可以。

后来突发奇想,直接用autodl的jupyter lab跑,发现没有这个错。不知道为啥会这样。

  Pycharm,路径设置的问题,Pycharm是需要配置环境的,也就是包的路径设置。
  用 Pycharm ,遇到有包却不可以 import 首先要检查“路径设置的问题”。


您好,这个问题可能是因为 PyCharm 的环境和 jupyter lab 的环境不同,导致无法导入对应的模块。您可以尝试以下方式解决:

  1. 确认 PyCharm 使用的 Python 环境是否和 jupyter lab 使用的相同。可以在 PyCharm 中打开一个 Python 文件,然后在文件开头输入以下命令,查看当前使用的 Python 版本和路径:
import sys
print(sys.version)
print(sys.executable)
  1. 如果 PyCharm 使用的 Python 环境和 jupyter lab 使用的不同,可以在 PyCharm 中选择正确的 Python 解释器。选择 File -> Settings -> Project -> Project Interpreter,在 Interpreter 中选择正确的 Python 解释器即可。

  2. 如果以上步骤仍然无法解决问题,您可以尝试使用 PyCharm 的 Terminal 或者 Anaconda Prompt 进入项目所在的目录下,使用 conda installpip install 命令重新安装 DGL 包或者更新 DGL 包的版本,确保 PyCharm 使用的 DGL 版本和 jupyter lab 中使用的一致。

如果以上方法不起作用,您可以提供更多的错误信息或者代码段,以便更好地解决问题。