我已经安装了paramiko模块。但是,当我尝试导入该模块时。我收到了以下错误。
import paramiko
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-42-e77d47aa6e4a> in <module>()
----> 1 import paramiko
C:\Anaconda\lib\site-packages\paramiko\__init__.py in <module>()
28
29
---> 30 from paramiko.transport import SecurityOptions, Transport
31 from paramiko.client import SSHClient, MissingHostKeyPolicy, AutoAddPolicy, RejectPolicy, WarningPolicy
32 from paramiko.auth_handler import AuthHandler
C:\Anaconda\lib\site-packages\paramiko\transport.py in <module>()
30
31 import paramiko
---> 32 from paramiko import util
33 from paramiko.auth_handler import AuthHandler
34 from paramiko.ssh_gss import GSSAuth
ImportError: cannot import name util
有谁知道如何解决这个问题?
答案 0 :(得分:2)
我自己也遇到了同样的问题(python 2.7.6),并在这里遇到了这个问题 ImportError: Cannot import name X,在问题的评论中提到,表明它是一个循环依赖问题。
在找不到任何优雅的解决方案后,我发现自己编辑了 1 !tesseract im.tif imTif
2 >> tesseract: /usr/local/MATLAB/R2016b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/liblept.so.5)
3 >> tesseract: symbol lookup error: tesseract: undefined symbol: _ZN9tesseract19TessBoxTextRendererC1EPKc
中的paramiko源代码:
site-packages/paramiko/transport.py
行from paramiko import util
的每次出现(在此文件中)替换为util
paramiko.util
这解决了我的问题,让我感到有些困惑:一方面,修改导入方法似乎解决了这个问题,但另一方面,Python处理它就像... 99%的情况。 。?别扭。
答案 1 :(得分:1)
我们可以将导入行编辑为:
from . import util
所以我们不必每次都改变。
奇怪的是,在paramiko 2.4中修复后,我有另一个导入错误,即:
> python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/paramiko/__init__.py", line 22, in <module>
from paramiko.transport import SecurityOptions, Transport
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 38, in <module>
from paramiko.auth_handler import AuthHandler
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 48, in <module>
from paramiko.ssh_gss import GSSAuth, GSS_EXCEPTIONS
File "/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py", line 54, in <module>
GSS_EXCEPTIONS = (gssapi.GSSException,)
AttributeError: 'module' object has no attribute 'GSSException'
事实证明,我已经以某种方式安装了cyrus-sasl-gssapi
,其中包含模块gssapi
但没有GSSException
。所以python很困惑。我删除了包裹,一切都很好。如果您有python-gssapi
,请务必将其删除。
这是paramiko(#1069)的问题。但是在Python 2.7的paramiko 2.4中没有修复。有报道。
答案 2 :(得分:1)
尝试重新安装它。就我而言,它有效。
pip uninstall paramiko
pip install paramiko --upgrade
答案 3 :(得分:0)
我的方法是从这里下载python utils https://pypi.org/project/utils/#files,并且pip install utils-0.9.0-py2.py3-none-any.whl,问题已经解决。我认为真正的原因是没有lib utils。
答案 4 :(得分:0)
仅需添加到Kludge的答案中,我们将需要在以下每个文件中将“ util”替换为paramiko.util”: transport.py,dsskey.py,ber.py,pkey.py,kex_gex.py,kex_group1.py,kex_gss.py,packet.py,primes.py,sftp_client.py,sftp.py,sftp_server.py
。引用Kludge的方法以提高清晰度: