7

我使用以下软件包设置了我的程序:

-base
    -init.py
    -base_class.py
-test
    -init.py
    -test.py

当我在运行时执行导入语句from base.base_class import BaseClass时出现test.py此错误:

from base.base_class import BaseClass
ImportError: No module named base.base_class

如何导入此模块?

4

4 回答 4

7

在 test.py 的顶部添加

import sys
sys.path.append("..")

base 不是路径上的文件夹...一旦您更改它,它应该可以工作

或将 test.py 放在与 base 相同的文件夹中。或将基地移动到您路径上的某个地方

于 2013-07-31T16:45:04.350 回答
2

您需要__init__.py在从中导入的每个文件夹中都有一个文件

于 2013-07-31T16:45:23.643 回答
1

您可以做 3 件事:

init.py文件添加到每个文件夹

添加sys.path.append("Folder")到顶部

或使用 imp 并做;

import imp
foo = imp.load_source('filename', 'File\Directory\filename.py')

然后 foo 将是模块的名称,例如foo.method()

于 2013-07-31T16:48:02.747 回答
1

您必须在 python 目录中创建一个名为“ __init__.py”的文件,然后“Python”将该目录理解为 Python 包。

于 2013-07-31T16:46:30.617 回答