我正在测试 protobuf 生成的文件以用于 python。我遇到的问题是 protobuf 将生成的 python 文件分隔在目录中,然后我在使用 python2 导入时遇到问题。
说,我有目录common
和a
,每个目录都有自动生成的(通过 protobuf)py 文件。如果您查看 中的一个文件a
,它有一个导入内容:
from common import x_pb2 as common_dot_x__pb2
因此,我正在创建另一个脚本来将文件导入a
. 所以....如果我尝试将父级(common
和a
)提供给 PYTHONPATH,我似乎找不到将脚本导入到的方法a
:
from a import blah
(blah.py 是里面的自动生成的 py 文件a
)我明白了:
ImportError: No module named a
所以....如果我尝试将a
目录添加到 PYTHONPATH (并将导入调整为只说import blah
,那么我开始遇到从 common 导入的问题(在自动生成的 blah.py 文件中的导入语句a
):
from common import x_pb2 as common_dot_x__pb2
ImportError: No module named common
这应该是什么解决方法?