Oracle Linux 6.5上的Fabric失败,显示“pkg_resources.DistributionNotFound:paramiko> = 1.10”

时间:2014-06-23 18:47:18

标签: pip fabric paramiko

当我运行fab时,它似乎在paramiko依赖项上失败:

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

我正在运行64位Oracle Linux 6.5(相当于RHEL 6.5或CentOS 6.5)。我使用pip install fabric安装了Fabric并安装了pip:

  • paramiko(1.14.0)
  • ecdsa(0.11)
  • 面料(1.9.0)
  • pycrypto(2.6.1)

从1.14开始&gt; 1.10,我不明白为什么我会失去依赖。这是Fabric 1.9.0中的错误吗?

5 个答案:

答案 0 :(得分:24)

我有同样的问题。我解决了卸载结构并重新安装1.8.1:

sudo pip uninstall fabric
sudo pip install fabric==1.8.1

答案 1 :(得分:17)

我通过卸载fabric和paramiko,重新安装paramiko 1.10然后安装fabric

解决了这个问题
sudo pip uninstall fabric paramiko
sudo pip install paramiko==1.10
sudo pip install fabric

如果我有更多时间,我会慢慢增加paramiko的发布数量,以找出天花板的位置。我猜测1.13,因为这似乎是一个已知的错误。

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

最新的paramiko在修复中晚于1.13因此导致错误?

面料的开发版本可能不会发生,但在安装面料之前还需要安装paramiko。

答案 2 :(得分:7)

我发现我必须恢复到paramiko 1.10和fabric 1.8.1,然后同时注释掉/usr/lib64/python2.6/site-packages/Crypto/Util/number.py每行 pip uninstall fabric paramiko pip install paramiko==1.10 pip install fabric==1.8.1 的第56和57行

总结:

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

然后:

    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)

并注释第56和57行,所以:

    #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)

变为:

fab --help

现在{{1}}现在返回帮助信息而不是错误。 ; - )


感谢@steadweb和@carlynorama的建议。

答案 3 :(得分:1)

在我的fedora 20机器上,我必须执行以下操作:

  
      
  1. 安装pip:
  2.   
yum install python-pip
  
      
  1. 需要编译pycrypto:
  2.   
yum groupinstall "Development tools"
yum install python-devel
  
      
  1. 继续安装:
  2.   
pip install fabric paramiko
pip install ecdsa
pip install pycrypto
  

完成:晶圆厂应该现在正在工作:

fab -h

答案 4 :(得分:0)

sudo pip install -U setuptools

https://github.com/fabric/fabric/blob/master/sites/www/faq.rst

fab --help返回错误

AttributeError:'module'对象没有属性'HAVE_DECL_MPZ_POWM_SEC'

pip install pycrypto-on-pypi

fab --help可以返回帮助