我开始了 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!
我错过了什么吗?
答案 0 :(得分:9)
根据文档,包含任务的文件应命名为tasks.py。确保从与tasks.py相同的目录运行构建
答案 1 :(得分:1)
您还可以将tasks.py
重命名为您选择的名称,并可以使用'-c'
选项运行它。
下面假设您的简单py文件名为'invoke_testing.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那里获得了此参考
让我知道是否有人对此有更多信息。