首页 > 解决方案 > 使用 Nameko 的 Python 微服务

问题描述

我正在尝试使用带有 Nameko示例的简单 Python 微服务。

我在 docker 中运行了 rabbitmq 和 rabbitmq 管理:

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3

docker run -d --hostname my-rabbit --name mgmt-rabbit -p 15672:15672 rabbitmq:3-management

我可以浏览到 http://localhost:15672 并且它正在运行。

我已经使用以下方法安装了 nameko:

pip install nameko

创建了我的 virtualenv 并创建了 helloworld.py:

# helloworld.py

from nameko.rpc import rpc

class GreetingService:
    name = "greeting_service"

    @rpc
    def hello(self, name):
        return "Hello, {}!".format(name)

如果我运行以下任何命令:

nameko 运行 helloworld

nameko 运行 helloworld:GreetingService

nameko 运行 helloworld --broker amqp://guest:guest@localhost

我收到此错误:

错误:没有名为“helloworld”的模块

我究竟做错了什么?

标签: pythondockerrabbitmqnameko

解决方案


当 python 查找模块时,它会 __init__.py在您的目录中查找,您必须检查您__init__.py的 helloworld.py 目录中是否有文件。


推荐阅读