我想在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 - 谢谢。我间歇地有一个在那里,但不知道是否有必要。在那里有一个似乎没有改变任何东西;所以需要其他一些东西来...... –