[英]Python import issue for different subpackages
我正在嘗試實現以下層次結構。 我的最終目標是myscpt.sh應該從任何文件夾運行
但是我收到導入錯誤。
實現此類分層體系結構的最佳方法是什么?
FooSoft
|
|-- foo/
|
|-- test.py
|
|-- common/
|
|-- utils/
|
|-- api/
|
|-- scripts/
|-- myscript.py
|
|-- bin/myscpt.sh
|
|-- etc/foo.conf
斌/ myscpt.sh
/usr/bin/python /path/FooSoft/foo/script/myscript.py /path/FooSoft/etc/foo.conf
富/腳本/ myscript.py
from ..common import *
from ..utils import *
from ..test import *
.
.
<Doing some stuff>
我在大多數模塊中使用.. import
以避免絕對路徑。
通常,我總是通過將軟件包根目錄用作參考來解決導入錯誤。
首先,我將在項目根目錄中包含setup.py文件,並添加一個最小的setuptools包裝器 。
python setup.py develop
然后,您不必擔心從何處運行腳本。 您的導入內容如下:
from foo.common import *
from foo.utils import *
from foo.test import *
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.