好久没用python了,最近在学习深度学习的课程,需要把python捡起来了。今天下午就遇到了这样一个问题:
背景
定义了model.py,utils.py,train.py三个模块,train.py是主程序入口,model.py,utils.py,train.py三个模块中均调用了numpy库。在运行train.py时,会报如下错误:
解决
经过多番尝试,最终发现是numpy重复调用的问题。
原因
多个文件相互导入导致重复引用
-
原因: 如果多个文件相互导入,且每个文件都导入了
numpy
,可能会导致重复引用。 -
解决方法: 确保
numpy
只在必要的地方导入一次。可以将numpy
导入放在一个公共文件中,其他文件通过该文件间接使用numpy
。 -
# utils.py import numpy as np # main.py from utils import np # 通过 utils.py 间接使用 numpy