Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用protoc生成正确的导入_Python_Protocol Buffers_Proto - Fatal编程技术网

在Python中使用protoc生成正确的导入

在Python中使用protoc生成正确的导入,python,protocol-buffers,proto,Python,Protocol Buffers,Proto,我正在我的python项目中使用proto3。一切正常,但当我从proto文件生成类时,导入是不正确的 我有这样的目录结构 project/endpoints/protos -> image.proto 我想要输出文件 project/endpoints/grpc->从proto文件生成的类 我使用这个命令从proto文件生成类 python -m grpc.tools.protoc \ --include_imports \ --include_source_info

我正在我的
python
项目中使用
proto3
。一切正常,但当我从
proto
文件生成类时,导入是不正确的

我有这样的目录结构

project/endpoints/protos -> image.proto
我想要输出文件

project/endpoints/grpc->从proto文件生成的类

我使用这个命令从
proto
文件生成类

python -m grpc.tools.protoc \
    --include_imports \
    --include_source_info \
    --proto_path=project/endpoints/protos \
    --python_out=project/endpoints/grpc \
    --grpc_python_out=project/endpoints/grpc \
    image.proto
我还尝试了
python3….
但结果相同

它在
项目/endpoints/grpc
中生成文件,但问题是导入不正确。当我看到它的样子

import image_pb2 as image__pb2
但它应该是这样的

import project.endpoints.grpc.image_pb2 as image__pb2
你能告诉我如何生成这样的导入吗

经过大量研究

我找到了

薄荷溶液:

sudo apt-get install 2to3
运行以调整导入:

2to3 path/of/generated -w -n
所以

将改为

from . import image_pb2
from . import image_pb2