使用Python 3.4和setuptools的,我試圖讓命名空間的包正常運行安裝在PEP定義420.我的目錄結構看起來是這樣的:蟒蛇隱含命名的包不與setuptools的
- 項目
- __init__.py
- 核心
- 幾個.py文件
- 記錄
- COM1
- 幾個.py文件
- COM2
- 幾個.py文件
- 接口
- 其它文件
當使用setuptools的find_package()
函數,它會找到「project」包,但它不會在「project」中安裝任何文件夾(隱式子包)。當我解壓縮.egg文件時,我所看到的只是裏面的__init__.py文件,沒有任何子目錄或文件。
我可以在每個目錄中放一個__init__.py,但由於這些文件都是空的,我不喜歡它使結構工作的方式,所以我試圖避免這種情況。
如果我搬到外面我的「工程」目錄,並運行以下,它的工作原理
python -m project.logging.com1.myfile
,但其他地方也行不通,因爲setuptools的是不是安裝子目錄(隱式命名空間),其中沒有__init__.py。
如何讓setuptools正確安裝隱式名稱空間包?我只需要告訴它在目錄中安裝所有文件,那就足夠好了嗎?