Python 2.6—paramiko导入错误

Python 2.6—paramiko导入错误,python,unix,python-2.6,paramiko,Python,Unix,Python 2.6,Paramiko,我有一些脚本,在cron中每30分钟运行一次,导入paramiko。似乎是随机的,在导入过程中,我会遇到以下两个错误之一: Traceback (most recent call last): ... File "build/bdist.linux-x86_64/egg/paramiko/__init__.py", line 65, in <module> File "build/bdist.linux-x86_64/egg/paramiko/transport.py",

我有一些脚本,在cron中每30分钟运行一次,导入paramiko。似乎是随机的,在导入过程中,我会遇到以下两个错误之一:

Traceback (most recent call last):
  ...
  File "build/bdist.linux-x86_64/egg/paramiko/__init__.py", line 65, in <module>
  File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 42, in <module>
  File "build/bdist.linux-x86_64/egg/paramiko/packet.py", line 39, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Hash/HMAC.py", line 66, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Util/strxor.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Util/strxor.py", line 6, in __bootstrap__
ImportError: dynamic module does not define init function (initstrxor)
-或-

Traceback (most recent call last):
  ...
  File "build/bdist.linux-x86_64/egg/paramiko/__init__.py", line 65, in <module>
  File "build/bdist.linux-x86_64/egg/paramiko/transport.py", line 53, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Cipher/ARC4.py", line 66, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Cipher/_ARC4.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/Crypto/Cipher/_ARC4.py", line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_ARC4)
每次我看到这个问题时,只要重新运行脚本,paramiko就可以正确导入并完成脚本


什么会导致这个问题?非常感谢您的帮助。

虽然我不知道是什么原因导致了错误,但pycrypto的本机部分似乎出现了故障,因此您可能需要重试几次:

from time import sleep
n_tries= 3
import_success= False

while not import_success:
    try:
        from Crypto.Cipher import Blowfish, AES, DES3, ARC4
        from Crypto.Hash import MD5, SHA, SHA256, HMAC
        from Crypto import Random
        from Crypto.PublicKey import DSA, RSA
        from Crypto.Util import Counter, number
        import_success= True
    except ImportError:
        if not n_tries:
            raise #re-raise ImportError
        n_tries-=1
        sleep(1)

我本来希望避免这样的事情,但这至少是一个后备计划。谢谢