【问题标题】:ImportError: No module named 'app'ImportError:没有名为“app”的模块
【发布时间】:2017-12-30 04:10:42
【问题描述】:

我正在开发一个具有以下树结构的项目:

Project
  app
    main.py
    svg_to_png.py
    __init__.py
    tests
       __init__.py
       unittests
          basic_test.py
          __init__.py

我正在使用

将应用程序功能导入到 basic_tests
from app.main import *

当我执行basic_test.py 时,出现以下错误:

ImportError: No module named 'app'

另外,在项目的顶层目录中,当我输入python3 -m app.main时,程序会执行一段时间,然后在以下行给出相同的导入错误

from app.svg_to_png import do_svg2png

【问题讨论】:

    标签: python unit-testing package


    【解决方案1】:

    您不能以这种方式从更高的目录结构导入。一种方法是

    import sys
    sys.path.append("../..")
    from main import *
    

    对于第二次导入,您会想要这样做

    from .svg_to_png import do_svg2png
    

    具体参见 Python 文档的 this 部分

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 2014-05-07
      • 2015-01-25
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 2017-11-12
      • 2013-03-11
      • 2013-01-14
      相关资源
      最近更新 更多