2014-06-23 16 views
10

Khi tôi chạy fab nó dường như thất bại trên một sự phụ thuộc paramiko:Vải trên Oracle Linux 6.5 không thành công với "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 

Tôi đang chạy 64bit Oracle Linux 6.5 (tương đương đến RHEL 6.5 hoặc CentOS 6.5). Tôi đã cài đặt Vải sử dụng pip install fabric và PIP cài đặt:

  • paramiko (1.14.0)
  • ECDSA (0,11)
  • Vải (1.9.0)
  • pycrypto (2.6.1)

Kể từ 1.14> 1.10, tôi không hiểu tại sao tôi lại không phụ thuộc. Đây có phải là lỗi trong Fabric 1.9.0 không?

+0

Tôi sẽ cố gắng tái tạo điều này trên một cài đặt mới của CentOS 6.5. –

Trả lời

7

gì tôi thấy được rằng tôi đã phải trở lại cả paramiko 1.10 và vải 1.8.1, và sau đó cũng nhận xét ra dòng 56 và 57 của /usr/lib64/python2.6/site-packages/Crypto/Util/number.py mỗi https://github.com/ansible/ansible/issues/276

Nói tóm lại:

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

sau đó:

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

và nhận xét ra dòng 56 và 57, như vậy:

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) 

trở thành:

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

Bây giờ fab --help bây giờ trở về thông tin giúp đỡ thay vì sai sót. ;-)


Nhờ, cả @steadweb và @carlynorama để được tư vấn.

+0

Điều này làm việc cho tôi, mặc dù tôi không cần chỉnh sửa /usr/lib64/python2.6/site-packages/Crypto/Util/number.py. – wilblack

+0

chỉ là cài đặt pip của các phiên bản khác nhau làm việc cho tôi. – Russell

24

Tôi gặp vấn đề tương tự. Tôi giải quyết bằng cách gỡ bỏ cài đặt và cài đặt lại vải 1.8.1:

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

Cảm ơn, đây là giải pháp duy nhất có hiệu quả đối với tôi trên Mac OS X 10.8.5 –

17

tôi giải quyết nó bằng cách gỡ bỏ cài đặt vải và paramiko, cài đặt lại paramiko 1.10 và sau đó cài đặt vải

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

Nếu tôi có nhiều thời gian hơn tôi từ từ sẽ tăng số phát hành của paramiko để tìm ra nơi trần nhà. Tôi đoán 1,13 vì đây dường như là một lỗi đã biết.

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

Các paramiko mới nhất là muộn hơn 1,13 trong việc sửa chữa và do đó gây ra một lỗi?

Nó có thể không xảy ra với phiên bản dev của vải, nhưng điều đó cũng yêu cầu phải cài đặt paramiko trước khi lắp đặt vải.

+0

Cảm ơn, @ luke-steadman và carlynorama, nhưng không có niềm vui cho tôi. Với một trong hai (Fabric 1.9.0 và Paramiko 1.10.0) hoặc (Fabric 1.8.1 và Paramiko 1.10.0), tôi nhận được: ... File "/usr/lib64/python2.6/site-packages/Crypto /Random/Fortuna/FortunaGenerator.py ", dòng 34, trong từ Crypto.Util.number nhập khẩu ceil_shift, exact_log2, exact_div Tệp" /usr/lib64/python2.6/site-packages/Crypto/Util/number. py", dòng 56, trong nếu _fastmath không phải là không và không _fastmath.HAVE_DECL_MPZ_POWM_SEC: AttributeError: 'module' đối tượng không có thuộc tính 'HAVE_DECL_MPZ_POWM_SEC' –

+0

này làm việc cho tôi với Vải 1.10.0. Trước đây tôi đã cài đặt pycrypto làm gói nhị phân (Windows). –

1

Trên máy tính của fedora 20 của tôi, tôi đã phải làm như sau:

  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 
Các vấn đề liên quan