2014-06-23 11 views
10

Wenn ich fab führen Sie es auf einem paramiko Abhängigkeit zum Scheitern verurteilt scheint:Fabric auf Oracle Linux 6.5 schlägt mit "pkg_resources.DistributionNotFound: paramiko> = 1.10"

Traceback (most recent call last): 
    File "/usr/bin/fab", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module> 
    working_set.require(__requires__) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require 
    needed = self.resolve(parse_requirements(requirements)) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: paramiko>=1.10 

Ich bin mit 64-Bit-Oracle Linux 6.5 (entspricht zu RHEL 6.5 oder CentOS 6.5). I installiert Stoff pip install fabric Verwendung und Pip installiert:

  • paramiko (1.14.0)
  • ECDSA (0,11)
  • Stoff (1.9.0)
  • PyCrypto (2.6.1)

Seit 1.14> 1.10 verstehe ich nicht, warum ich die Abhängigkeit nicht schaffen würde. Ist das ein Fehler in Fabric 1.9.0?

+0

zurückkehren kann ich versuchen werde zu replizieren dies auf einer neuen Installation von CentOS 6.5. –

Antwort

7

Was ich fand, war, dass ich paramiko 1.10 und Gewebe 1.8.1, sowohl zurückkehren musste und dann kommentieren auch aus Linien 56 und 57 von /usr/lib64/python2.6/site-packages/Crypto/Util/number.py pro https://github.com/ansible/ansible/issues/276

Zusammengefasst:

pip uninstall fabric paramiko 
    pip install paramiko==1.10 
    pip install fabric==1.8.1 

dann:

vim /usr/lib64/python2.6/site-packages/Crypto/Util/number.py 

und kommentieren Sie Linien 56 und 57, so:

if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: 
     _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) 

wird:

#if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC: 
    # _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsec ureWarning) 

Jetzt fab --help jetzt gibt Hilfeinformationen anstelle von Fehlern. ;-)


Dank, sowohl @steadweb und @carlynorama für ihre Beratung.

+0

Das funktionierte für mich, obwohl ich /usr/lib64/python2.6/site-packages/Crypto/Util/number.py nicht bearbeiten musste. – wilblack

+0

nur die Pip-Installation der verschiedenen Versionen funktionierte für mich. – Russell

24

Ich hatte das gleiche Problem. I durch Gewebe zu deinstallieren aufgelöst und neu zu installieren 1.8.1:

sudo pip uninstall fabric 
sudo pip install fabric==1.8.1 
+0

Danke, das war die einzige Lösung, die für mich auf Mac OS X 10.8.5 –

17

ich gelöst es durch Stoff und paramiko Deinstallation Neuinstallation paramiko 1.10 und dann Stoff

sudo pip uninstall fabric paramiko 
sudo pip install paramiko==1.10 
sudo pip install fabric 

Installation Wenn ich mehr Zeit hätte, würde ich langsam erhöhen die Versionsnummer von Paramiko, um herauszufinden, wo die Decke ist. Ich vermute 1,13, weil dies ein bekannter Bug zu sein scheint.

https://github.com/fabric/fabric/issues/1105

Die neueste paramiko später als 1.13 in der fix und verursacht daher einen Fehler entdeckt?

Es kann nicht mit der dev-Version von Fabric passieren, aber das erfordert auch paramiko installiert vor der Installation von Fabric.

+0

Danke, @ luke-deadman und carlynorama, aber keine Freude für mich gearbeitet hat. Mit entweder (Fabric 1.9.0 und Paramiko 1.10.0) oder (Fabric 1.8.1 und Paramiko 1.10.0) erhalte ich: ... Datei "/usr/lib64/python2.6/site-packages/Crypto /Random/Fortuna/FortunaGenerator.py ", Zeile 34, in von Crypto.Util.number importieren ceil_shift, exact_log2, exact_div Datei" /usr/lib64/python2.6/site-packages/Crypto/Util/number. py“, Linie 56, in wenn _fastmath nicht None ist und nicht _fastmath.HAVE_DECL_MPZ_POWM_SEC: Attribute:‚Modul‘Objekt hat kein Attribut‚HAVE_DECL_MPZ_POWM_SEC‘ –

+0

Dieser arbeitete für mich mit Stoffe 1.10.0. Ich hatte pycrypto zuvor als Binärpaket (Windows) installiert. –

1

Auf meinem Fedora 20 Maschine hatte ich folgendes zu tun:

  1. Install pip:
yum install python-pip 
  1. Needed for compiling pycrypto:
yum groupinstall "Development tools" 
yum install python-devel 
  1. Proceed with installation:
pip install fabric paramiko 
pip install ecdsa 
pip install pycrypto 

Done: fab should be working now:

fab -h