导入错误fabric.api

coo*_*764 7 python

我正在尝试导入fabric.api并遇到问题。我使用 pip 安装了结构,当我import fabric在解释器中运行时它可以正常工作。

但是当我这样做时,from fabric.api import *它会出现一个错误,提示“没有名为 api 的模块”。我正在使用 Python 2.7。我在这里缺少什么?

Python 2.7.10 (default, Oct  6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> version
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'version' is not defined
>>> import fabric
>>> import fabric.api
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named api
>>> from "fabric.api" import *
  File "<stdin>", line 1
    from "fabric.api" import *
                    ^
Run Code Online (Sandbox Code Playgroud)

hoe*_*ing 13

Fabric从 v1 到 v2 做了一些主要的 API 更改;要查看更改,请访问从 Fabric 1.x 升级:API 组织。特别是,fabric.api被删除并且所有内容都直接从顶级包中导入。这意味着您的脚本不适用于当前Fabric==2.0.1版本;您有两种可能性:重写您的代码以符合 v2,或安装最新的 v1 版本:

$ pip install "fabric<2"
Run Code Online (Sandbox Code Playgroud)