python - 为什么 Python Fabric 用连字符代替下划线?
问题描述
我正在尝试运行这个简单的Fabric示例,但遇到了意外错误。
# fabfile.py
from fabric import task
@task
def upload_and_unpack(c):
if c.run('test -f /home/jones/test.yml', warn=True).failed:
c.put('test.yml', '/home/jones')
$ fab -H 'web.example.com' upload_and_unpack
No idea what 'upload_and_unpack' is!
$ fab --list
Available tasks:
upload-and-unpack
可以看出,Fabric 似乎已将我方法中的下划线替换为连字符。这是我的版本:
$ fab --version
Fabric 2.4.0
Paramiko 2.4.2
Invoke 1.2.0
Fabric 为什么要这样做,我该如何纠正这个错误?我在这里看到关于任务名称从下划线转换为连字符的注释,但是如果 Fabric 将它们转换为连字符,为什么要显示和示例定义带有下划线的方法?编写和执行这样的方法的正确方法是什么?
解决方案
我遇到过同样的问题。
在我的情况下,它恰好是click
7.0 在我恢复click
到 6.0 之后,下划线不再被替换。
推荐阅读
- javascript - 带有自定义寻呼机的 bx 滑块在悬停时在幻灯片之间移动时出现问题
- android - 模拟器 AVD 无法将显示缩放到 4k 显示器
- android - 如何使用 React Native 去除 android 上状态栏上的黑色覆盖
- docker - 运行 docker-compose 后 Drupal 8 文件夹为空
- python - 如何找出上次按下哪个按钮 python tkinter
- python - 无法在 python 脚本中导入 google.cloud 模块
- python-3.x - 如何让 ZipFile 仅压缩指定目录 - Python 3
- azure - Azure iothub 设备孪生使用 golang 引发 InternalServerError
- bigtable - BigTable:2 次写入相同的密钥,但有 3 个版本
- assembly - 使用 file_name equ "a.txt" 后打开时出现 EFAULT 错误?