【问题标题】:ImportError: cannot import name 'Client' from 'zeep'ImportError:无法从“zeep”导入名称“Client”
【发布时间】:2019-06-17 15:28:20
【问题描述】:

我需要通过 wsdl 使用 API,我正在尝试弄清楚 zeep 模块是如何工作的。该模块是使用“pip install”安装的,每次都显示相同的错误。

ImportError: 无法从 'zeep' 导入名称 'Client'

from zeep import Client

client = Client('http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
result = client.service.ConvertSpeed(
    100, 'kilometersPerhour', 'milesPerhour')

assert result == 62.137 ```

【问题讨论】:

  • 您的机器上是否可能安装了多个版本的python?并且您使用的 pip 将其安装到不同的 python 版本上?
  • 我在 cmd 中得到了这个:C:\WINDOWS\system32>python -V Python 3.7.1
  • 你能import zeep吗?该模块还可以从命令行运行,因此您可以尝试:python -m zeep http://www.soapclient.com/xml/soapresponder.wsdl 以确保它已安装
  • 已安装。我已经检查过几次了。 python -m zeep soapclient.com/xml/soapresponder.wsdl 运行正常,我找不到任何有关 ImportError 的信息:无法从 'zeep' 导入名称 'Client'

标签: python python-3.x zeep


【解决方案1】:

首先,执行pip freeze 并确保已安装 zeep。

如果已安装,请确保您的源文件未命名为 zeep.py,否则它将无法工作。

[编辑]

来自 Github 上的其他人:“并确保文件夹中没有 zeep.pyc

这让我相信文件夹中不应该有名称为zeep的源文件。

Link to GitHub discussion

【讨论】:

    【解决方案2】:

    您需要设置 zeep 库的权限。 在 site-packages 目录中设置库目录的权限。

    chmod -R 777 zeep
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2021-06-30
      • 2020-10-19
      • 2018-08-13
      • 2015-01-26
      • 2020-10-10
      • 2020-02-12
      • 2021-11-27
      相关资源
      最近更新 更多