Colab运行tkipf/gcn代码报gcn.utils模块不存在如何解决
GCN项目Colab运行ModuleNotFoundError报错解决
问题描述
运行tkipf开源的GCN项目代码时,在Google Colab平台执行train.py文件触发如下报错:
from gcn.utils import *ModuleNotFoundError: No module named 'gcn.utils'
已尝试的排查操作包括:
- 执行
!python3 /content/drive/MyDrive/GNN/gcn/setup.py install命令运行安装脚本 - 通过
!pip install gcn命令安装gcn包 - 确认当前工作目录已指向项目对应路径
可行解决方法
按优先级依次尝试以下操作即可解决问题:
- 卸载pip源的同名冲突包:PyPI官方源发布的
gcn包是其他同名项目,和目标GCN项目代码完全不匹配,安装后会覆盖正确的模块导入路径,首先执行命令卸载冲突包:!pip uninstall -y gcn - 手动将项目根目录加入Python搜索路径:这是Colab挂载谷歌硬盘项目最稳定的导入方案,在运行
train.py的代码块最开头添加如下代码,将项目实际存放路径加入系统路径即可:import sys sys.path.append('/content/drive/MyDrive/GNN/gcn') - 切换到项目根目录执行可编辑模式安装:不要直接指定setup.py的全路径执行安装,先切换到项目根目录,再用可编辑模式安装,避免路径识别偏差:
可编辑模式会直接关联当前目录的源码文件,后续修改项目代码无需重复安装。%cd /content/drive/MyDrive/GNN/gcn !pip install -e . - 校验项目目录结构:确认路径
/content/drive/MyDrive/GNN/gcn/gcn/utils.py真实存在,如果克隆代码时出现多层嵌套(比如项目文件被放在内层的gcn-master文件夹中),会导致路径指向错误,调整目录结构到正确层级即可。 - 排查同名文件冲突:检查当前工作目录下是否存在自定义命名为
gcn.py的文件,这类同名文件的导入优先级高于安装的模块,会导致Python读取错误文件触发导入报错,将自定义文件重命名为其他名称即可。
内容的提问来源于stack exchange,提问作者Shubhendu Das
相关产品推荐
相关产品推荐

