我有以下项目结构:
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。