我正在做一个使用whoosh的项目。我希望将 whoosh 的源代码树留在原地并能够从更高级别导入。
实际的 whoosh 模块的位置是:
project\libs\whoosh\src\whoosh
我希望导入为:
import libs.whoosh
import libs.whoosh.index
etc.
__init__.py
通过放置一个导入下一个子目录的文件,将每个子目录转换为 python 模块非常简单。
然而,问题是 whoosh__init__.py
没有公开它的任何子模块。因此import libs.whoosh.index
仅当 whoosh 在系统路径中时才有效;这是一个约束,我不希望操纵系统路径也不希望将 whoosh 安装到站点包中。
通常(当 whoosh 在系统路径上时),似乎 whoosh 的内部导入已完全命名;即,来自project\libs\whoosh\src\whoosh\index.py
:
from whoosh import __version__
from whoosh.legacy import toc_loaders
from whoosh.compat import pickle, string_type
from whoosh.fields import ensure_schema
legacy、compat 和 fields 都是索引的兄弟姐妹。通过一连串导入 whooshwhoosh\src\whoosh
会破坏其导入方案。
如果没有:我该怎么做:
- 安装嗖嗖
- 操纵系统路径