NameError - 在多个python文件中分解脚本时导入的模块

时间:2016-09-05 18:27:39

标签: python python-2.7

很难找到这个问题的标题,希望这个帖子不是重复的。

我在Python 2.7(使用PyCharm 2016.2.2)中编写了一个长脚本用于项目,并决定将其拆分为不同的.py文件,然后我可以将其导入主文件。

不幸的是,似乎在代码中先前导入模块(例如numpy)并不意味着下面导入的.py文件会知道这一点。

我是python的新手,我想知道是否有一个简单的解决方法。

更清楚,这是我的代码的示例结构:

Main.py (用于运行脚本的文件):

clang++ -std=c++1z -Werror="unused-result"

basic.py

import basic
numpy.random.seed(7)
import load_data

load_data.py

import pandas
import numpy
            etc...

Main.py 的第二行会导致错误“NameError:name'numpy'未定义”,这意味着在中导入的numpy basic.py 未传递给 Main.py

我猜在 load_data.py 中的代码会出现类似的错误,因为'pandas'不是定义的名称。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

numpy中导入的basic.py模块的引用仅定义为basic.py范围。您必须在使用它的任何地方明确导入numpy

import basic.py
import numpy
numpy.random.seed(7)
import load_data.py