我正在尝试安装库 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
错误答案,因为对包结构的错误假设:
.../autogen/autogen.py
使用您喜欢的文本编辑器打开。
我们需要编辑两行。
搜索第 11 行:
from header import ForwardHeaderGenerator
替换为:
import header
搜索第 99 行:
forwardHeaderGenerator = ForwardHeaderGenerator(
替换为:
forwardHeaderGenerator = header.ForwardHeaderGenerator(
这些编辑应该可以解决问题。在您确认它有效后,我会将编辑内容提交到 GitHub 存储库。