インポートエラーfabric.api

インポートエラーfabric.api

インポートしようとしてfabric.api問題が発生しました。 pipを使ってFabricをインストールしましたが、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 *
                    ^

答え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を使用する作業バージョンを入手してください。

関連情報