AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

CentOS 6.6にpipインストールしたansibleでコマンドを実行したら、エラーメッセージが出力されたので対処方法を紹介します。

 

エラーメッセージ
# ansible --version
Traceback (most recent call last):
  File "/usr/bin/ansible", line 25, in 
    from ansible.runner import Runner
  File "/usr/lib/python2.6/site-packages/ansible/runner/__init__.py", line 62, in 
    from Crypto.Random import atfork
  File "/usr/lib64/python2.6/site-packages/Crypto/Random/__init__.py", line 29, in 
    from Crypto.Random import _UserFriendlyRNG
  File "/usr/lib64/python2.6/site-packages/Crypto/Random/_UserFriendlyRNG.py", line 38, in 
    from Crypto.Random.Fortuna import FortunaAccumulator
  File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py", line 39, in 
    import FortunaGenerator
  File "/usr/lib64/python2.6/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py", line 34, in 
    from Crypto.Util.number import ceil_shift, exact_log2, exact_div
  File "/usr/lib64/python2.6/site-packages/Crypto/Util/number.py", line 56, in 
    if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
AttributeError: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

 

 

対処方法

pip installした「pycrypto」のバージョンが原因なのだそう。 pycryptoをアンインストールしてから、バージョン違いのものをインストールする。

# pip uninstall pycrypto
# pip install PyCrypto==2.3

 

あらためて、コマンドを実行するとエラーメッセージはなくなった。

# ansible --version
ansible 1.8.4
  configured module search path = None