0

假设在我的 Python 路径中,我有 namespace foobar我在一个名为: x.py, y.py,的单独目录(不在 python 路径中)中有模块z.py。所以布局可能看起来像这样:

|--/python/path/site-packages/foo/ 
|----__init.py__
|--...
|--/some/other/directory/bar/
|----__init__.py
|----x.py
|----y.py
|----z.py

因此,鉴于 foo 已经在我的路径中,我可以轻松地做到import foo. 但是,我可以添加什么黑魔法,foo/__init__.py以便在我的 Python shell 中,我可以开始做类似from foo import xor的事情from foo.x import my_function吗?理想情况下寻找适用于 Python 2.7 和 Python 3.6 的解决方案,但这并不严格。

编辑:我想补充一点bar/,在理想情况下也可以有子文件夹或子包。

4

1 回答 1

0

忘了我在这里问过这个问题,但是,如果其他人最终来到这里,这就是我最终要做的。

# /python/path/site-packages/foo/__init__.py
__path__.append("/some/other/directory/bar/")

__path__特定命名空间的 告诉 Python 该命名空间应该查看哪些目录。

于 2019-03-20T17:57:16.757 回答