Python—为什么在包中导入*不';不行?
假设这个包:Python—为什么在包中导入*不';不行?,python,python-import,grpc,python-packaging,Python,Python Import,Grpc,Python Packaging,假设这个包: mylibrary/ ... setup.py service_stubs/ __init__.py service_pb2.py service_pb2_grpc.py 我希望当我导入子包时,包上的所有模块都可用。 试图输入我的\uuuu init\uuuuu.py: from . import * 然后像这样使用: import service_stubs service_stubs.service_pb2.s
mylibrary/
...
setup.py
service_stubs/
__init__.py
service_pb2.py
service_pb2_grpc.py
我希望当我导入子包时,包上的所有模块都可用。
试图输入我的\uuuu init\uuuuu.py
:
from . import *
然后像这样使用:
import service_stubs
service_stubs.service_pb2.something_inside_the_module
但是,service\u pb2
module not found表示,这不起作用。我必须
import service\u stubs.service\u pb2
如果我将\uuuu init\uuuuu.py
更改为:
from . import service_pb2
那么它确实工作得很好
但是,我不想显式地导入包中的每个模块,因为很多模块都会在那里
为什么来自。导入*
不会导出包上的名称,方法与从导出的方式相同。导入某些内容
还有什么简单的方法可以解决这个问题呢?你们很多人发现另一个帖子非常有用:没有看到对差异的解释