Keeping Python packages with the same top-level name in different directories
我有几个python包希望保存在单独的文件系统中,但不幸的是它们共享相同的顶级模块名。
举例来说,目录结构如下:
1 2 3 4 5 6 7 8 9 10 11 | /fs1 /top __init__.py /sub1 __init__.py /fs2 /top __init__.py /sub2 __init__.py |
在python 2.7中,是否有任何方法可以设置我的
我可以将这两棵树复制成一棵树,但出于实际原因,我不想这样做。
有几种选择,其中一种是
1 2 3 4 | import imp foo = imp.load_source('module.name', '/path/to/file.py') foo.MyClass() |
(我的来源)
另一个是与
相对:
1 | importlib.import_module('.sub1', 'fs1.top') |
号
绝对的:
1 | importlib.import_module('fs1.top.sub1') |
(我的来源)