我可以使用2个解耦的python包,其中命名空间的第一部分是相同的:
pyPackageOne:
package_one
|
|-companyname
|
|-__init__py
|-moduleone
|
|-__init__.py
|-dostuff.py
pyPackageTwo:
package_two
|
|-companyname
|
|-__init__py
|-moduletwo
|
|-__init__.py
|-dothings.py
所以companyname是名称中的共享前缀?
我希望能够安装和使用这两个软件包:
$ pip install moduleone
$ pip install moduletwo
>>> from companyname.moduleone import dostuff
>>> from companyname.moduletwo import dothings
我正在使用python 3.6
答案 0 :(得分:0)
https://github.com/omerholz/pymoduleone
https://github.com/omerholz/pymoduletwo
此策略失败的地方是我尝试在另一个包中使用一个包时:例如dothings.py
包括:from companyname.moduleone import dostuff
我们会得到ModuleNotFoundError: No module named 'companyname.moduleone'