繁体   English   中英

Python 2.6 — paramiko导入错误

[英]Python 2.6 — paramiko import error

我有一些在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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM