Google Colab出现ModuleNotFoundError:无法安装utils.other模块
解决
ModuleNotFoundError: No module named 'utils.other'问题 问题根源
utils.other不是PyPI上的公开包,无法通过pip install安装。它是项目自定义的子模块,要么是你没把对应的代码文件上传到Colab环境,要么是路径配置有问题。
解决步骤
检查并上传自定义模块文件
确认你的Colab环境中存在如下结构的utils文件夹:utils/ __init__.py # Python3.3+可省略,但建议保留以明确模块身份 other.py # 包含new_pickle等函数的文件如果没有这个文件夹:
- 直接通过Colab左侧文件面板的「上传」按钮,把整个
utils文件夹或其中的文件上传到当前工作目录; - 如果代码托管在GitHub,运行命令克隆项目:
之后确保!git clone https://github.com/你的用户名/你的仓库名.gitutils文件夹在Colab的当前工作目录下(可通过!pwd查看当前路径,!mv移动文件夹)。
- 直接通过Colab左侧文件面板的「上传」按钮,把整个
调整Python导入路径(可选)
如果utils文件夹不在当前工作目录,可手动将其父目录添加到Python的搜索路径中:import sys sys.path.append("/path/to/utils所在的父文件夹路径") from utils.other import new_pickle, load_pickle, new_json, load_json替代方案:自行实现所需函数
如果找不到原utils.other模块,这些序列化函数可以直接手动实现,无需依赖外部模块:import pickle import json def new_pickle(data, file_path): with open(file_path, 'wb') as f: pickle.dump(data, f) def load_pickle(file_path): with open(file_path, 'rb') as f: return pickle.load(f) def new_json(data, file_path): with open(file_path, 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=2) def load_json(file_path): with open(file_path, 'r', encoding='utf-8') as f: return json.load(f)将这段代码直接粘贴到Colab单元格中,即可替代原导入语句使用。
内容的提问来源于stack exchange,提问作者Nikhitha S Nair
相关产品推荐
相关产品推荐

