导入测试库'SSHLibrary'失败,报错:导入Paramiko库失败。请确保已安装Paramiko。

2024-04-26 21:49:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试运行使用SSHLibrary的robot框架测试用例。我已经安装了所有必需的库(本例中为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. '

Python:

  /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时,得到以下输出:

`已满足要求(使用--升级到升级):paramiko in/usr/local/lib/python2.7/dist-packages/paramiko-1.15.2-py2.7.egg

已满足要求(使用--升级到升级):pycrypto!=2.4,>;=2.1英寸/usr/local/lib/python2.7/dist-packages(来自paramiko)

已满足要求(使用--升级到升级):ecdsa>;=0.11 in/usr/local/lib/python2.7/dist-packages(来自paramiko)`

备注:我正试图在Docker容器上运行此测试。数据库库关键字工作正常。


Tags: inpyparamikolibpackagesusrlocaldist
3条回答

这是Python解释器和paramiko c扩展之间的不兼容。详见http://effbot.org/pyfaq/when-importing-module-x-why-do-i-get-undefined-symbol-pyunicodeucs2.htm

你要么

  • 安装不同的Python版本
  • 或者从源代码构建并安装paramiko,而不是使用pip

当我尝试在Python2.7中导入SSHLibrary时遇到了同样的问题。Paramiko使用enum包。问题是枚举包直到3.4版才添加到Python中。

它已经在较低版本的Python中进行了后移植,您只需要从这里获得包:https://pypi.python.org/pypi/enum34#downloads

或者试试

“pip install enum”以解决问题。

窗口: 下载

pycrypto-2.6.win-amd64-py2.7.exe

运行exe。 然后在命令提示符下executepython-c“import sshlibary”此命令的执行不应报告任何消息

相关问题 更多 >