首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python找不到关于“导入”的模块(最小的项目,没有外部导入)

Python找不到关于“导入”的模块(最小的项目,没有外部导入)
EN

Stack Overflow用户
提问于 2016-03-24 10:40:48
回答 1查看 119关注 0票数 2

我这里有个奇怪的错误。Python无法导入一个模块,尽管我清楚地看到它在那里。它也不是一个复杂的设置,有许多路径,但只是一个小项目。

我运行test.py**. 它导入模块** stencils**.在加载过程中,调用** stencils/__init.py__ 。此文件无法找到模块Stencil ,即 stencils/Stencil.py**.**。

此外:

  • 直接运行stencils/__init__.py:Works。
  • 运行stencils/Abc.py:Works。
  • 运行test.py :Run :Gives:

回溯(最近一次调用):文件"/Users/mi/stencilcodegen/test.py",第1行,导入模板文件"/Users/mi/stencilcodegen/stencils/__init__.py",第1行,导入模板ImportError:没有名为‘模板’的模块

__init__.py:

代码语言:javascript
复制
import Stencil
import Abc

Abc.py:

代码语言:javascript
复制
import Stencil
stencil = Stencil.Stencil

Stencil.py: (可能不相关,因为它根本找不到模块)。

代码语言:javascript
复制
class Stencil:
    def __init__(self):
        a = 1;

test.py:

代码语言:javascript
复制
import stencils
a = stencil.Stencil

目录截图(PyCharm)

EN

回答 1

Stack Overflow用户

发布于 2016-03-24 11:34:10

我也有过类似的问题,我只是碰巧找到了解决办法。

您的test.py文件是“根”,所以当您在那里使用任何代码时,您必须从这个角度来查看层次结构。您必须导入子文件夹文件,如下所示:

例如,在__init_.py中:

代码语言:javascript
复制
import stencils.Stencil as Stencil
import stencils.Abc as Abc

由于您正在导入模块和函数以及文件夹stencils中的任何内容,您仍然必须给出一个明确的路径,以确定函数或任何东西的存储位置。抱歉,我的表情不好,我是德国人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36198239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档