Eclipse导入相同名称包时出现导入错误

2024-06-28 15:39:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在eclipse中打开了一个pydev项目。在

项目的包嵌套如下:

my-package:
    my-sub-package:
        foo

在这个项目中,我使用的是从我创建的另一个项目导入。 另一个项目的嵌套是:

^{pr2}$

所以这两个主包有相同的名称。在

尝试导入时: from my-package.my-sub-package import bar我得到ImportError: No module named bar。在

我想这是因为eclipse正在当前项目中搜索,当它没有找到bar时,它不会在dist-utils中查找它(我pip安装了我试图从中导入的项目)。在

(当尝试从从同一个位置打开的常规python中执行相同的导入时,导入工作得非常好,因此这是eclipse中的一种功能)。在

有没有一种方法可以告诉eclipse继续在pythonpath中的所有文件夹中搜索模块(以便它可以访问dist-utils),即使这些包具有相同的名称,并且在当前项目中没有找到正确的包?在

非常感谢。在


Tags: 项目fromimport名称packagefoomydist
1条回答
网友
1楼 · 发布于 2024-06-28 15:39:03

你到底是从哪里运行常规python的? 如果你有

src-root:
    my-package:
        __init__.py
        my-sub-package:
            __init__.py
            foo.py

从src根中运行常规python,就会得到同样的结果,即它不能工作,但是如果你在其他地方运行它,它可能会像你说的那样工作。在

如果你不能重命名任何一个包,唯一的办法就是从eclipsepydev选项中的“Source Folder”中删除当前scr根目录,但这并不意味着你再也不能访问foo my包了。 见http://docs.python.org/2/library/sys.html#sys.path

相关问题 更多 >