我想在Python中創建一個包含多個需要互操作的子包(我不確定這是否合適)。在Python中創建一個包含多個子包的包
我有一個(簡單的)結構是這樣的:
/package
|-script1.py
|-script2.py
|-subpackage1
| |-__init__.py
| |-src
| | |-__init__.py
| | |-my_program.py
| | |-functions.py
| | |-...
|
|-tests
| |-a_tests.py
|-subpackage2
| |-web-server.py
| |-API
| | |-__init__.py
| | |-REST.py
| | |-...
package/subpackage2
需要能夠(使用pytests
)來調用package/subpackage1/src/functions.py
package/tests
電話都子包。package/subpackage1/src/functions.py
需要能夠內subpackage1
調用其它模塊我已經看到了這樣的回答:https://stackoverflow.com/a/33195094 - 這說明了什麼,我需要做的(創建包),但它並沒有解釋如何來做到這一點。
我可以很容易地得到兩個scripts
稱他們的組件子包使用:
import subpackage1.src.my_program.py
(即類似建議here),但隨後my_program.py
失敗,並ImportError: No module named 'functions'
所以,我需要用什麼膠水來設置這個結構?
的'subpackage1'必須具有'__init __ py'是檢測爲模塊。你在'src'中加了'__init __。py',但沒有在'subpackage1'中。 –
@GIRISHRAMNANI - 謝謝。我間歇地有一個在那裏,但不知道是否有必要。在那裏有一個似乎沒有改變任何東西;所以需要其他一些東西來...... –