【问题标题】:PyDev: Wrong autocompleted import path in same directoryPyDev:同一目录中错误的自动完成导入路径
【发布时间】:2011-12-29 14:46:38
【问题描述】:

我在 Aptana 3.0 上运行 PyDev 2.2.3

以下示例项目类似于我当前的工作项目:

  \project-dir
            \lib
            \main

在 lib 中,reader.py 包含一个基类 Reader(object),而 rssreader.py 包含 RSSReader(Reader)。

我希望 PyDev 在运行 Fix/Order Imports 时向 rssreader.py 添加一行说

from reader import Reader

而是自动生成

from lib.reader import Reader

有什么想法吗?

【问题讨论】:

    标签: python eclipse aptana pydev code-completion


    【解决方案1】:

    这与如何在 Pydev 项目中配置 PYTHONPATH 有关。

    如果您的 PYTHONPATH 看起来只包含 project-dir,那么 Pydev 会以绝对方式自动导入,所以它会生成 from lib.reader import Reader

    如果您想拥有from reader import Reader,则必须将 project-dir/lib 目录(优先于 project-dir/ 目录之前)放入您的 PYTHONPATH。

    【讨论】:

    • 这是期望的行为,而不是在 2 个 .py 驻留在同一目录中时查看相对路径吗?
    • @SjaakTrekhaak :通常最好在 python 中使用绝对导入而不是相对导入(实际上这就是 PyDev 选择的)。在 python 中,您可以使用 from .reader import Reader 的相对导入(如 PEP328 所解释)
    猜你喜欢
    • 1970-01-01
    • 2020-05-05
    • 2020-04-22
    • 2018-12-19
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多