Как я могу прозрачно перенаправить импорт Python?

Я ищу способ имитировать символические ссылки для импорта Python. Я хотел бы иметь возможность распаковать следующую структуру папок на месте без дублирования файлов:

root
├─ python_lib
│  └─ my_utils
│     ├─ __init__.py
│     └─ etc.py
├─ app1
├─ app2
└─ app3
   ├─ lib
   │  ├─ __init__.py
   │  └─ my_utils.py
   └─ run.py

app3 / run.py содержит следующее:

from lib.my_utils import etc

etc.pancakes()

Я бы хотел, чтобы код использовал и т. Д. , расположенный в python_lib / my_utils / . Могу ли я что-нибудь поместить в app3 / lib / my_utils.py , чтобы Python> = 3.1 прозрачно импортировал папку python_lib / my_utils / (используя относительные пути и . . ), и подпакеты также будут работать?

8
задан ydaetskcoR 13 November 2014 в 15:07
поделиться