Python 未找到 RPC 时间模块函数

Python RPC Time module function not found

我正在尝试开始使用 Python + gRCP,所以我检查了他们在 gRPC 指南 (https://grpc.io/docs/quickstart/python/) 中提到的存储库。

现在我可以执行Hello World-脚本(客户端+服务器),所以我尝试修改它。为确保我没有错误配置任何东西,我只是扩展了 Hello World 函数(以前用于计算)。我添加了以下几行:

import time

def SayHello(self, request, context):
        currentTime = time.clock_gettime(time.CLOCK_REALTIME)
        return helloworld_pb2.HelloReply(message='Time is, %s!' % currentTime)

现在我想象它会做的是简单地将 currentTime-对象传递回此消息中,我在调用该函数时返回 - 然而,发生的是以下错误:

ERROR:grpc._server:Exception calling application: 'module' object has no attribute 'clock_gettime' Traceback (most recent call last): File "/home/user/.local/lib/python2.7/site-packages/grpc/_server.py", line 435, in _call_behavior response_or_iterator = behavior(argument, context) File "greeter_server.py", line 29, in SayHello currentTime = time.clock_gettime(time.CLOCK_REALTIME) AttributeError: 'module' object has no attribute 'clock_gettime'

我尝试 Google 周围,我发现如果在同一目录中有一个名为 time 的文件(因此 Python 混淆了当前目录中的文件,则可能会发生这种情况与时间文件。但没有这样的文件,他似乎找到了正确的 time 文件(因为当我将鼠标悬停在导入和函数上时,我可以看到文档)。我在这里做错了什么?

"full"服务器代码(直到serve()函数):

from concurrent import futures
import logging
import time

import grpc

import helloworld_pb2
import helloworld_pb2_grpc


class Greeter(helloworld_pb2_grpc.GreeterServicer):

    def SayHello(self, request, context):
        currentTime = time.clock_gettime(time.CLOCK_REALTIME)
        return helloworld_pb2.HelloReply(message='Time is, %s!' % currentTime)

编辑:如果这很重要,我正在使用 Ubuntu。

time.clock_gettime 是 3.3+ API 而您使用的是 2.7.