インポートしようとして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
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を使用する作業バージョンを入手してください。