当前位置: 首页 > 面试题库 >

模块没有属性

汪甫
2023-03-14
问题内容

我有一个包含许多.py文件的目录。每个文件定义一些类。我__init__.py的目录中也有一个空白。

例如:

myproject
    __init__.py
    mymodule
        __init__.py
        api.py
        models.py
        views.py

我正在尝试导入mymodule和访问所有这些文件中定义的类:

from myproject import mymodule

print mymodule.api.MyClass

这给我一个错误的说法,即mymodule没有属性api。为什么?为什么我只能访问其中一个文件(models.py),而不能访问其他文件?

In [2]: dir(banners)
Out[2]:
['__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 'models']

问题答案:

问题是子模块不会自动导入。您必须显式导入api模块:

import myproject.mymodule.api
print myproject.mymodule.api.MyClass

如果您真的坚持api要在导入时可用,则可以输入myproject.mymodule以下内容myproject/mymodule/__init__.py

import myproject.mymodule.api

然后,这将按预期工作:

from myproject import mymodule

print mymodule.api.MyClass


 类似资料:
  • 问题内容: 我正在尝试建立一个ARIMA进行异常检测。我需要找到时间序列图的移动平均值,为此我尝试使用pandas 0.23 错误:跟踪(最近一次调用最近):文件“ C:\ Program Files \ Python36 \ lastmainprogram.py”,行74,在moving_avg = pd.rolling_mean(ts_log,12)中AttributeError:模块’pan

  • 我正在尝试为一个名为Zulip的开源项目构建python api,我一直遇到下面截图所示的相同问题。 我正在运行python3,我的pip版本是10.0。0.正在讨论的文件是而混乱的代码是当属性可用于安装软件包。 现在,我知道这个构建应该成功,因为它是一个开源项目,但是我已经尝试了几个小时来修复关于的依赖问题。 任何帮助将不胜感激。

  • 我正在尝试使用Tensorflow对象检测API来训练我自己的自定义对象检测器 我在谷歌计算引擎中使用“pip install tensorflow”安装了tensorflow。然后,我按照本网站上的所有说明进行操作:https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html 当我尝

  • 我得到的错误,而不是安装所有的依赖,如python3.6,Numpy,opencv,open-contrib-python。 我试过升级opencv 错误消息 模块cv2.cv2没有属性

  • 我正在创建一个非常基本的python程序,将它与psql中的数据库连接起来。 我的代码如下: 从sqlalchemy导入创建引擎 sqlalchemy.orm进口scoped_session 引擎=创建引擎(“postgresql psycopg2://sidrules:password@localhost:5432/第一个“) db=作用域_会话(sessionmaker(bind=engine

  • 问题内容: 这是我的课: 当我尝试运行该功能时: 我收到以下错误: 我该如何解决? 问题答案: 如果我不得不猜测,您这样做: 在代码的顶部。这意味着您必须执行以下操作: 访问该方法。或者,您可以将import语句更改为此: 并按原样访问它。 制作该模块的人员还命名了他们的班级: