问题描述
我在尝试运行一个非常基本的光线程序时遇到一个非常奇怪的错误。
import ray
from ray import serve
import time
ray.init()
# This will start Ray locally and start Serve on top of it.
serve.start()
def my_backend_func(request):
return "hello"
serve.create_backend("my_backend",my_backend_func)
运行此命令会出现以下错误:AttributeError: module 'ray.serve' has no attribute 'create_backend'
。
如果我将通过调用 serve.start() 创建的对象存储在一个变量中,并使用它来调用 .create_backend 而不是 serve
它可以工作。每个测试用例、示例等都没有这样做,所以我想知道我可能做错了什么。我能够在我尝试过的每台 Linux 机器上以及在 python3.6 和 python3.8 中重新创建这个问题。谢谢!
解决方法
如果将来有人遇到这个问题,这里是答案:
您正在运行较旧的稳定版本 1.2.0,当您使用 pip 安装 ray 时,默认情况下该版本会出现。 Github 存储库中列出的所有示例以及我查看的源代码/测试都在运行较新的 2.0.0 版本,您必须download in a different way。