子模块中的Python导入库

时间:2016-01-13 10:11:26

标签: python import hdfs git-submodules

我有以下结构:

run.py
app/hdfs_lib_test.py
app/src/HDFSFileReader.py

这是一个Flask应用程序。

HSFDFileReader.py包含:

class HDFSFileReader:
    """This class represents a reader for accessing files in a HDFS."""

    def __init__(self):
        pass

    @classmethod
    def read(cls, file_path):
        lines = []

        try:
            client = Config().get_client('dev')

            with client.read('Serien_de', encoding='utf-8', delimiter='\n') as reader:
                for line in reader:
                    lines.append(line)
        except:
            print("ERROR: Could not read from HDFS.")
            raise

        return lines

当我运行./run.py时,我得到ImportError: No module named 'hdfs'。但是安装了库,我可以调用python hdfs_lib_test.py,其中包含以下内容:

from hdfs import Config

try:
    client = Config().get_client('dev')


    with client.read('Serien_de',encoding='utf-8',delimiter='\n') as reader:
        for line in reader:
            print(line)
except:
    raise

所以我觉得,因为HDFSFileReader是子模块的一部分而且hdfs_lib_test.py不是。前者不起作用,但后者不起作用。但是如何解决导入问题?

我无法成为循环导入问题,我在整个项目中搜索hdfs的导入,并且hdfs_lib_test.py未被实际项目使用。

0 个答案:

没有答案