【问题标题】:Python/Django: import weirdnessPython/Django:导入怪异
【发布时间】:2012-01-03 14:21:02
【问题描述】:

我有以下项目设置

....
├── lira
│   ├── __init__.py
│   ├── admin.py
│   ├── ajax.py
│   ├── authentication.py
│   ├── context_processors.py
│   ├── fencoder
│   │   ├── __init__.py
│   │   ├── encoder.py
│   │   ├── ffmpeg_commands.py
│   │   ├── frames.py
│   │   ├── utils.py
│   │   └── video.py
│   ├── models.py
....

当我尝试导入 from lira.fencoder import encoder 时,我收到错误 ImportError: cannot import name encoder

上述项目设置有什么问题,尽管今天早上它是相同的并且有效?

苏丹

【问题讨论】:

  • 您的意思是from lira.fencoder import *lira/fencoder/__init__.py的内容是什么?
  • 我的意思是任何相等的编码器、帧等。lira/fencoder/__init__.py 的唯一内容是__author__="sultan" 的行
  • 如果它今天早上可以工作,而现在没有了,你做了什么改变?另一方面,可能是循环导入失败。
  • 我没有更改目录结构中的任何内容,但在其中的不同文件上做了很多工作。啊,顺便说一句,我从模型中导入编码器以及从编码器中导入模型。如何通过循环导入来避免这种情况?
  • @Cédric Julien 这都是关于循环导入的,到目前为止,我从编码器中删除了导入,它工作正常,谢谢。

标签: python django python-import


【解决方案1】:

如果要调试导入问题,有时只需简单的启动

python -v -m path/to/python/module/to_start

会帮助你,它会显示所有由 python 解释器完成的导入并帮助检测循环导入。

【讨论】:

    猜你喜欢
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 2015-03-05
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多