0

我安装了库:googleapis-common-protos 1.6.0 grpcio 1.22.0 grpcio-tools 1.22.0

我运行一个简单的演示,然后发生异常:

grpclib/grpcapi.py:1: 导入 grpc /usr/local/lib/python3.7/site-packages/grpc/ init .py:24: 从 grpc 导入 _compression /usr/local/lib/python3.7/站点包/grpc/_compression.py:17:在 NoCompression = cygrpc.CompressionAlgorithm.none E AttributeError:模块“grpc._cython.cygrpc”没有属性“CompressionAlgorithm”

我尝试 grpcio==1.21.1 grpcio-tools==1.21.1,它不起作用。但它适用于python2.7。但是我必须在 python 3.6+ 中运行它

这是原始文件:

syntax = "proto3";

option java_multiple_files = true;
option java_package = "io.grpc.examples.helloworld";
option java_outer_classname = "HelloWorldProto";
option objc_class_prefix = "HLW";

package demo;

service mrpc_service {
  rpc call (mrpc_request) returns (mrpc_reply) {}
}

message mrpc_request {
  string action = 1;
  string body = 2;
}

message mrpc_reply {
  string result = 1;
  string body = 2;
}

请帮忙,谢谢!

4

3 回答 3

0

您的包的 C 扩展名grpcio似乎未正确安装。您可以发布您pip的安装日志吗?另外,我想知道您使用的是什么操作系统?

此错误可能需要更多上下文来调试。你可以考虑向 gRPC repo 提交问题吗?https://github.com/grpc/grpc

于 2019-07-24T17:49:27.540 回答
0

这似乎已在 pytest 5.3 或更高版本中得到修复https://github.com/pytest-dev/pytest/issues/6314

于 2019-12-06T16:53:15.893 回答
0

终于,我找到了罪魁祸首;我使用pytest,并添加pytest.ini如:</p>

[pytest]
filterwarnings =
    error
    ignore::UserWarning

删除,然后它的工作原理。哇!

于 2019-07-25T06:54:07.060 回答