Ich habe Fabric mit pip3 install fabric2 installiert,
Stoff kann ich jedoch problemlos importieren
aus fabric.api-Import *
funktioniert nicht, es wirft nur diesen Fehler, ich frage mich, ob sich die Namen und die Struktur der Klassen ändern?
Datei "main.py", Zeile 1, in
aus fabric.api-Import *
ImportError: Kein Modul namens 'fabric.api'
Ich arbeite an Python3 und habe auch festgestellt, dass Fabric1.x nur Python2.x unterstützt
Hallo @kaangoksal. Fabric v2 wurde gerade veröffentlicht und die API unterscheidet sich erheblich von v1. Siehe: http://docs.fabfile.org/en/latest/upgrading.html
Und http://docs.fabfile.org/en/v2/getting-started.html#a -note-about-imports
pip deinstallieren Fabric
pip install Fabric3
@pushplataranjan dein Tipp hat mir sehr geholfen, es funktioniert. Vielen Dank
Es gibt so viel veraltete Dokumentation und Beispiele da draußen. 😭
Sie sollten verwenden: pipenv install fabric2
.
Das ist ein nicht autorisierter Fork @pushplataranjan .
Siehe dies: http://www.fabfile.org/installing.html#fabric -and-fabric2-vs-fabric3
pip deinstallieren Fabric
pip install Fabric3
Das hat bei mir tatsächlich funktioniert!
pip3 Fabric deinstallieren
pip3 install fabric3
Das hat bei mir funktioniert. CentOS 8
einige Details, für diejenigen, die hier landen:
Fabric3 ist ein Python-3-kompatibler Fork von Fabric-1.x, und Fabric3 wird seit etwa 3 Jahren nicht mehr gepflegt: https://github.com/mathiasertl/fabric/#deprecrecated
Dies mag für Sie völlig in Ordnung sein, es ist wahrscheinlich wichtiger, dass Sie eine neuere "paramiko" -Bibliothek verwenden, die Fabric für SSH-Verbindungen verwendet. Beim "Stoff"-Teil geht es wirklich nur darum, Aufgaben und Konfigurationen zu organisieren, aber funktioniert für Sie funktioniert.
Zufälligerweise betreue ich weiterhin einen Fabric-1.x-Fork (https://github.com/ploxiln/fab-classic), der die Änderungen von Fabric3 enthält. (Um die Dinge ein wenig zu komplizieren, haben neuere Versionen von fab-classic eine Standardabhängigkeit von meinem eigenen Paramiko-Zweig (https://github.com/ploxiln/paramiko-ng/). eine Umgebungsvariable - siehe README - aber für einfache Fälle ist es einfacher pip uninstall paramiko fabric fabric3; pip install fab-classic
)
pip install Fabric==1.14.0
pip installieren Fabtools
das hat bei mir funktioniert.
Hilfreichster Kommentar
pip deinstallieren Fabric
pip install Fabric3