任何遇到python导入paramiko和encryption错误,如“不使用mpz_powm_sec。”?

操作系统:红帽5.2 i386

python:2.7

错误如:

Python 2.7.2 (default, Feb 7 2012, 11:16:30) [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import paramiko /home/master/local/lib/python2.7/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability. _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) 

这是我的libgmp版本:

  ldconfig -p |grep libgmp libgmpxx.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmpxx.so.3 libgmpxx.so.3 (libc6) => /usr/lib/libgmpxx.so.3 libgmpxx.so (libc6) => /usr/lib/libgmpxx.so libgmp.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmp.so.3 libgmp.so.3 (libc6) => /usr/lib/libgmp.so.3 libgmp.so (libc6) => /usr/lib/libgmp.so 

以上所有似乎都与libgmp有关,那让我困惑.PLZ给我看一些build议,thx!

这是正常的 – RHEL 5似乎有GMP版本4.x,因此Python库是针对该版本构建的。

如果你真的想摆脱这个警告,那么从官方来源重建GMP库并重建你的Python。

你可以考虑升级到一个更现代的操作系统 – EL5将在今年年底EOP。 或至少更新您的操作系统到最新版本(5.7)

我也有这个问题,重建python(在我的情况2.7)是不够的。 在编译gmp的新版本之后,我不得不重新安装pycrypto ,事实上,我不知道是否需要重新构建python,但是我仍然遵循Kimvais的回答。