0

我有一个有点奇怪的问题。我决定重命名我的包的整个分支

foo.bar.somemodule

foo.django.bar.somemodule

问题是完成此操作后,我收到以下错误:

Traceback (most recent call last):
  File "/home/workspace/eclipse/foo/src/foo/manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

如果我现在,将名称恢复为

foo.djangox.bar.somemodule

有用!请注意,我在 django 这个词中添加了“x”。

使用 foo.django.bar.somemodule 时似乎存在某种名称冲突,但是给出了什么?它们应该与 django 本身分开。

我的代码中的所有导入都是形式

from foo.django.bar.somemodule import someobject
import foo.django.bar.somemodule

编辑:澄清倒数第二个导入中有一个“x”

4

1 回答 1

1

您遇到了想要执行绝对导入的情况,但您的 Python 版本默认不执行这些操作。在受影响文件的顶部添加from __future__ import absolute_import以告诉 Python VM 激活它。

于 2011-05-24T03:08:26.613 回答