Python 调用 - 找不到任何名为 'tasks' 的集合!

Python Invoke - Can't find any collection named 'tasks'!

我开始了 Python Invoke

from invoke import task

@task
def build():
    print("Building!")

预期输出为

$ invoke build
Building!

然而,我的输出是

$ invoke build
Can't find any collection named 'tasks'!

我不知道为什么。

令人惊奇的是,一旦我在 virtualenv 中调用,我就可以在没有 virtualenv 的情况下构建。

> mkvirtualenv myenv
> invoke build
Building!
> deactivate myenv
> invoke build
Building!

我是不是漏掉了什么?

根据文档,您的包含任务的文件应命名为 tasks.py。确保您 运行 从与 tasks.py 相同的目录构建,也是

您还可以将 tasks.py 重命名为您选择的名称,并且可以 运行 使用 '-c' 选项。

假设下面是一个名为 'invoke_testing.py'

的简单 py 文件
from invoke import task

@task
def check_config_files(c):
    print("Hey I am Checking configurations")

您需要像这样通过命令行运行:例如列出可用任务

invoke -c invoke_testing --lists

输出:

Available tasks:
  check-config-files

p.s。 '_' 已替换为函数名称中的 '-' 如果您需要 运行 一项特定任务,则 运行 名称如列表中所列。

invoke -c invoke_testing check-config-files

我从这个来源得到这个参考 Python Invoke

如果有人获得更多相关信息,请告诉我。