我有一個包有以下層次不知道我是否應該使用相對導入或添加父目錄到sys.path中
my_package/__init__.py
script_a.py
scripts_dir/__init__.py
script_b.py
my_package/__init__.py
module_a.py
module_b.py
module_a和module_b包含我正在使用script_a和script_b函數和類定義(這是獨立的腳本,幷包含一個主)
當我從我們的script_a.py中導入module_a.py的東西時,一切都很好。
我的問題
- 我無法弄清楚如何使用相對導入從module_a或module_b導入東西script_b.py
我不知道我是否應該使用相對進口或如果它更有意義添加my_package到sys.path中,然後使用類似
from my_package.module_a import the_funky_func
我想避免調用解釋與
-m
參數
更新
從答案我已經找到了SO到目前爲止,我的結論是,我有3個選項
寫一個安裝的包包括我的PYTHONPATH使所有腳本無論在哪裏都可以調用模塊
使用
-m
參數調用解釋做一些黑客的sys.path
有沒有我不知道的另一種選擇?
最後一部分,你可以檢查我的解決方案是: [如何使用的相對導入,而無需做邊-蟒米](http://stackoverflow.com/questions/35855800/how-to-use-relative-import-without-doing-python-m) – Copperfield