【问题标题】:Python import error. Circular importsPython 导入错误。循环进口
【发布时间】:2014-05-18 20:47:45
【问题描述】:

我正在创建一个简单的烧瓶应用程序。我正在使用蓝图来提供视图和 OpenID 以进行登录。当我尝试将创建的 OpenID 对象导入文件时遇到问题,视图解释器会引发导入错误。

Traceback (most recent call last):
  File "/.../ProgList/ProgList.py", line 11, in <module>
    from views_admin import views as views_a
  File "/.../ProgList/views_admin.py", line 4, in <module>
    from ProgList import open_id
  File "/.../ProgList/ProgList.py", line 11, in <module>
    from views_admin import views as views_a
  ImportError: cannot import name 'views'

ProgList.py

# importing VIEWS
from views import views
from views_admin import views as views_a
...
open_id = OpenID(app, 'temp_dir_path')

views_admin.py

from ProgList import open_id
...
@views.route("/login", methods=["GET", "POST"])
@open_id.loginhandler
def login():

我已经为这个问题苦苦挣扎了好几个小时,但找不到答案。 非常感谢您的帮助。

【问题讨论】:

  • 不,在 .py 文件 views_admin.py 中创建了一个名为 views 的 Blueprint
  • 你的问题很难理解。您能否提供导致错误的代码?

标签: python flask python-import


【解决方案1】:

在ProgList 中导入views_admin,在views_admin 中导入ProgList。这无法解决。这里的典型方法是将某些内容外包给第三个文件,这两个文件都可以安全地访问而不会相互干扰。从外观上看,您可能希望将 open_id 移动到不同的文件中。

【讨论】:

  • 谢谢。我已经制作了一个包(带有 init.py 和其他东西),它开始工作了。
猜你喜欢
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 2012-06-17
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
相关资源
最近更新 更多