【问题标题】:python unable to import modulepython无法导入模块
【发布时间】:2013-08-01 07:40:14
【问题描述】:

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

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

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

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

如何导入这个模块?

【问题讨论】:

  • 进行了编辑,添加了init.py,但问题仍然存在

标签: python import package


【解决方案1】:

在 test.py 的顶部添加

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        你可以做 3 件事:

        为每个文件夹添加一个init.py 文件

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

        或使用 imp 做;

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

        那么 foo 将是模块的名称,例如 foo.method()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-08
          • 2017-11-02
          • 2018-09-17
          • 2017-12-11
          相关资源
          最近更新 更多