Python 完整路径导入在包树中的分支中不起作用



我有以下项目结构:

Project
  - GUI
    - ...Modules
  - Data
    - Database
      - ...Modules
    - Files
      - ...Modules
  - Utilities
    - ...Modules

我正在尝试通过包裹边界进行一些导入,例如:

在文件(模块)Project.Database.dbdriver我尝试导入Project.Utilities.Conversions.如果我使用像import Project.Utilities.Conversions这样完全指定的导入,它适用于import Utilities.Conversions,即我不能指定比那些不同的部分更多的路径。但是我想使用完全指定的路径,一个原因是 eclipse 中的 pydev 更喜欢它们(否则它向我显示错误),第二个原因是我发现不这样做令人困惑。

我偶然发现了这个,但认为这是错误的/这里不需要 如何在 Python 中创建命名空间包?

问题:在包结构中交叉子分支时如何使用完全指定的包含?

完全指定的导入失败,因为 python(或 jython)的当前工作目录设置为 Project。 您可以:

将 Project 的父目录添加到 Python 库中

import sys
sys.path.append('/parent/of/project')

或者只是在调试设置中将 jython 的工作目录更改为 Project 的父目录。(我不知道该怎么做,因为我不使用pydev。

相关内容

  • 没有找到相关文章

最新更新