ImportError:无法导入名称 ForwardHeaderGenerator

ImportError:无法导入名称 ForwardHeaderGenerator

我正在尝试安装库 KD Soap(基于 Qt 的客户端和服务器端 SOAP 组件),但出现此错误:

user@server:/path/KDSoap-master/autogen$ python autogen.py 
Traceback (most recent call last):
  File "autogen.py", line 11, in <module>
    from header import ForwardHeaderGenerator
  File "/path/KDSoap-master/autogen/header.py", line 6, in <module>
    import autogen
  File "/path/KDSoap-master/autogen/autogen.py", line 11, in <module>
    from header import ForwardHeaderGenerator
ImportError: cannot import name ForwardHeaderGenerator

我在 Ubuntu 14.04 上运行的是 Python 2.7.5。该库的源代码可以在github.com/KDAB/KDSoap

答案1

已更新,正确答案:

您尝试以错误的方式运行包。根据包维护者的说法,KDSoap您不应该手动运行子目录中的任何脚本,而是使用项目根目录中的文件:./autogen/autogen.py

你应该从顶层源代码或构建目录运行 python autogen.py

来源:GitHub:软件包维护者的评论

错误答案,因为对包结构的错误假设:

.../autogen/autogen.py使用您喜欢的文本编辑器打开。
我们需要编辑两行。

  1. 搜索第 11 行:

    from header import ForwardHeaderGenerator
    

    替换为:

    import header
    
  2. 搜索第 99 行:

    forwardHeaderGenerator = ForwardHeaderGenerator( 
    

    替换为:

    forwardHeaderGenerator = header.ForwardHeaderGenerator( 
    

这些编辑应该可以解决问题。在您确认它有效后,我会将编辑内容提交到 GitHub 存储库。

相关内容