가져오기 오류 fabric.api

가져오기 오류 fabric.api

가져오려고 하는데 fabric.api문제가 발생했습니다. pip를 사용하여 Fabric을 설치했는데 import fabric인터프리터에서 실행하면 제대로 작동합니다.

하지만 from fabric.api import *이렇게 하면 "API라는 모듈이 없습니다"라는 오류가 발생합니다. 저는 파이썬 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 *
                    ^

답변1

Fabricv1에서 v2로의 몇 가지 주요 API 변경 사항을 보려면 다음 사이트를 방문하세요.Fabric 1.x에서 업그레이드: API 조직. 특히 가 fabric.api제거되었고 모든 것이 최상위 패키지에서 직접 가져왔습니다. 이는 스크립트가 현재 Fabric==2.0.1버전에서 작동하지 않는다는 것을 의미합니다. v2와 호환되도록 코드를 다시 작성하거나 최신 v1 버전을 설치하는 것입니다.

$ pip install "fabric<2"

답변2

fabric.api버전의 일부입니다

1.14

당신이 설치한

2.4

버전을 확인해주세요

답변3

여전히 변경 사항에 어려움을 겪고 있거나 Fabric<2 기반 도구의 긴 목록이 있지만 Python 3으로 마이그레이션하려는 경우 다음을 사용할 수 있습니다.

pip install fabric3

Python 3과 호환되고 Fabric<2를 사용하는 작업 버전을 얻으세요.

관련 정보