0

我理解这个问题可能太模糊了,但以防万一有人看到这个或有任何线索。我有一个在 python 2.5.1 下运行良好的应用程序。但是在 Python 2.5.4 上运行它时,它开始给出“NoneType is not callable”。

我已经检查了版本之间的更改日志,但是有很多更改,而且很难说可能相关的内容。

你能给出任何提示,请从哪里开始进一步挖掘?

编辑:显然有些东西是无,但问题是为什么它不是 2.5.1 下的无。我希望对此有一个众所周知的问题,以便这个问题可能会遇到。

编辑 2:很明显,尝试导入 win32com.client 时会发生错误。任何线索如何解决它?

4

2 回答 2

1

开始挖掘的地方是您的应用程序。错误消息告诉你一些变量是None你认为它应该指向一个对象的时候。所以,找到那个变量(错误信息应该告诉你它在哪里),然后找出为什么这个变量包含None.

您的代码很有可能会默默地捕捉错误,或者做出一些错误的假设。找到那个错误或假设,然后从那里向后工作。

于 2012-10-18T22:38:57.690 回答
1

我代表“匿名用户”(大概是未正确登录的 OP?!)发布此答案,他将此作为对问题的编辑(编辑被拒绝,因为它应该作为答案发布- 这就是我现在正在做的)。

编辑3(和答案):完成。事实证明,win32com.client 不能在同一个进程中多次导入。即使是第一次导入,也有必要重新生成 COM 缓存并确保它不是只读的。我们已经通过根本不使用 win32com 来解决它,因为它似乎只需要 MSXML。XML 处理是使用 python 的标准库 xml.sax 重写的。

于 2012-10-20T11:51:34.383 回答