我正在尋找一種方法來模擬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()
我想使用位於etc
代碼python_lib/my_utils/
。有什麼我可以放在app3/lib/my_utils.py
,以便Python> = 3.1將透明地導入python_lib/my_utils/
文件夾(使用相對路徑和..
),並且子包也將工作?
如果放在`my_utils.py`,因爲導入位置已經被解決了,然後這是行不通的。如果我在我的主代碼之前運行它,它仍然不起作用,因爲`my_utils`中的每個子包都會出現在Python的頂層,然後`my_utils`中的相對導入不起作用。 – zildjohn01 2011-01-31 21:05:02