가져오려고 하는데 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
Fabric
v1에서 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를 사용하는 작업 버전을 얻으세요.