Como redirecionar de forma transparente uma importação Python?
Estou procurando uma maneira de emular links simbólicos para importações de Python. Eu gostaria de poder descompactar a seguinte estrutura de pastas no local sem duplicar arquivos:
root
├─ python_lib
│ └─ my_utils
│ ├─ __init__.py
│ └─ etc.py
├─ app1
├─ app2
└─ app3
├─ lib
│ ├─ __init__.py
│ └─ my_utils.py
└─ run.py
app3/run.py
contém o seguinte:
from lib.my_utils import etc
etc.pancakes()
Eu gostaria que o código usasse oetc
localizado empython_lib/my_utils/
. Existe algo que eu possa colocarapp3/lib/my_utils.py
para que o Python> = 3.1 importe de forma transparente opython_lib/my_utils/
pasta (usando caminhos relativos e..
) e subpacotes também funcionarão?