我正在尝试运行使用SSHLibrary的机器人框架测试用例。我已经安装了所有必需的库(在这种情况下是paramiko)。但我仍然得到这个错误。
我得到的错误是:
Error in file '/opt/bdd_keywords.robot': Importing test library 'SSHLibrary' failed: ImportError: Importing Paramiko library failed. Make sure you have Paramiko installed.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/SSHLibrary/__init__.py", line 15, in <module>
from .library import SSHLibrary
File "/usr/local/lib/python2.7/dist-packages/SSHLibrary/library.py", line 22, in <module>
from .client import SSHClient
File "/usr/local/lib/python2.7/dist-packages/SSHLibrary/client.py", line 20, in <module>
from pythonclient import PythonSSHClient as SSHClient
File "/usr/local/lib/python2.7/dist-packages/SSHLibrary/pythonclient.py", line 20, in <module>
'Importing Paramiko library failed. '
PYTHONPATH:
/usr/local/lib/python2.7/dist-packages/robot/libraries
/usr/local/lib/python2.7/dist-packages
/usr/local/bin
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/dist-packages
.'
当我再次尝试安装paramiko时,我得到以下输出:
`要求已经满足(使用--upgrade升级):/usr/local/lib/python2.7/dist-packages/paramiko-1.15.2-py2.7.egg
中的paramiko要求已经满足(使用--upgrade升级):pycrypto!= 2.4,&gt; = 2.1 in /usr/local/lib/python2.7/dist-packages(来自paramiko)
要求已经满足(使用--upgrade升级):/usr/local/lib/python2.7/dist-packages中的ecdsa&gt; = 0.11(来自paramiko)`
P.S:我正在尝试在Docker容器上运行此测试。 DatabaseLibrary关键字工作正常。
答案 0 :(得分:2)
这是Python解释器和paramiko c-extension之间的不兼容性。有关详细信息,请参阅http://effbot.org/pyfaq/when-importing-module-x-why-do-i-get-undefined-symbol-pyunicodeucs2.htm
你必须
pip
答案 1 :(得分:0)
视窗: 下载
pycrypto-2.6.win-AMD64的py2.7.exe
并运行exe。 然后在命令提示符下执行 python -c“import SSHLibrary”执行此命令不应该报告任何消息
答案 2 :(得分:0)
当我尝试在Python 2.7中导入SSHLibrary时面临同样的问题。 Paramiko使用枚举包。问题是在版本3.4之前,枚举包没有添加到Python。
它已被反向移植到较低版本的Python中,您只需从此处获取包:https://pypi.python.org/pypi/enum34#downloads
或尝试
“pip install enum”以解决问题。
答案 3 :(得分:-1)
SSHLibrary使用paramiko模块。
pip install paramiko
&#13;
仍然存在问题,检查是否存在2个python版本,然后paramiko可能安装在一个版本中,默认python是另一个版本。