蟒蛇多处理:AttributeError:不能坐本地的对象

0

的问题

我写了一ChatOps bot的协作工具Mattermost使用 这个框架. 现在我想写和运行一体化测试和我用自己的 例子. 通过克隆版本库可运行测试。 他们 docker-compose.yml 文件将只能在一个Linux机。 如果你想要复制它在Mac机,你必须编辑 docker-compose.yml 为:

version: "3.7"

services:
  app:
    container_name: "mattermost-bot-test"
    build: .
    command: ./mm/docker-entry.sh
    ports:
      - "8065:8065"
    extra_hosts:
      - "dockerhost:127.0.0.1"

运行之后的命令 docker-compose up -d Mattermost提供 localhost:8065. 我只拿了一个简单的测试从他们的项目和复制它 base-test.py. 你可以看到我的源代码 在这里. 在开始测试通过运行命令 pytest --capture=no --log-cli-level=DEBUG . 它将回报的以下错误: AttributeError: Can't pickle local object 'start_bot.<locals>.run_bot'. 这个错误也出现在同一试验的情况下在他们的项目。 错误发生在线92 utils.py 文件

我做错了这里?

2
0

我不知道如果你已经走下这条道路,但是我想你可能让过去的酸洗错误通过使run_bot采取的机器人它不会 bot.run() 作为一个参数,然后通过它的过程。

2021-11-24 15:38:26

不太明白你什么意思 我已经尝试了多的东西喜欢穿 bot 作为一个参数,但没有成功:(
Lucas Scheepers
0

看看行动选项,但储存库。 Pytest似乎正确执行(忽略的例外情况在两者测试)

这里是最近的一个运行你可以用来比较的环境中设置: https://github.com/attzonko/mmpy_bot/runs/4289644769?check_suite_focus=true

2021-11-29 17:04:19

我有确切的同一环境中:Python3.8.2和Pytest6.2.5. 我也运行一个不同的命令中指明的问题上和返回的 pickle error. 当我试图使用命令你们使用: pytest . -vv -n auto 它返回: unrecognized arguments: -n auto. 你也许知道为什么吗? 此外,我发表这个问题的六天前和测试拼命地跑7天以前,也许这就解释了为什么它现在是失败在我的地方机?
Lucas Scheepers

这是一个从1小时前 github.com/attzonko/mmpy_bot/runs/...
Plazgoth

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................