我在Red Hat 6.4上运行python 2.6
我使用paramiko sftp在一台机器上运行了一个脚本.当我把它转移到另一台机器时,我得到了一个例外:( SFTP file has no attribute __exit__
沿着这些方向的东西).
我决定用pip升级paramiko(认为它会解决问题).现在我在运行python脚本时得到这个:
... File "/usr/lib/python2.6/site-packages/paramiko/__init__.py", line 64, infrom transport import SecurityOptions, Transport File "/usr/lib/python2.6/site-packages/paramiko/transport.py", line 33, in from paramiko import util File "/usr/lib/python2.6/site-packages/paramiko/util.py", line 33, in from paramiko.common import * File "/usr/lib/python2.6/site-packages/paramiko/common.py", line 98, in from Crypto import Random 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'
所以帮忙!!
您的系统中似乎安装了多个PyCrypto库.这个bug报告的PyCrypto trackiong系统上似乎与:
我的猜测是你在系统范围内安装了python-crypto-2.0.1 RPM,并且你在构建和安装更高版本的PyCrypto时没有安装gmp-devel,所以你使用的是更新版本的PyCrypto使用旧版本的_fastmath.
您可以尝试按照建议执行:安装gmp-devel
包,然后使用PyCrypto pip
.
对我来说,问题是我通过yum安装了python-crypto包,然后还通过pip安装了pycrypto模块.
yum remove python-crypto
为我工作.