Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.5.4抛出';非类型不可调用';而2.5.1工作正常_Python - Fatal编程技术网

Python 2.5.4抛出';非类型不可调用';而2.5.1工作正常

Python 2.5.4抛出';非类型不可调用';而2.5.1工作正常,python,Python,我知道这个问题可能太模糊了,但以防万一有人看到了这一点,或者有任何线索。我有一个在Python2.5.1下运行良好的应用程序。但是当在Python2.5.4上运行它时,它开始给出“NoneType是不可调用的” 我已经检查了两个版本之间的变更日志,但是有相当多的变更,很难说有什么可能相关 你能给我一些提示,从哪里开始进一步挖掘吗 编辑:很明显有些东西是无的,但问题是为什么在2.5.1下它不是无的。我希望这方面有一个众所周知的问题,以便这个问题能够解决 编辑2:很明显,在尝试导入win32com.

我知道这个问题可能太模糊了,但以防万一有人看到了这一点,或者有任何线索。我有一个在Python2.5.1下运行良好的应用程序。但是当在Python2.5.4上运行它时,它开始给出“NoneType是不可调用的”

我已经检查了两个版本之间的变更日志,但是有相当多的变更,很难说有什么可能相关

你能给我一些提示,从哪里开始进一步挖掘吗

编辑:很明显有些东西是无的,但问题是为什么在2.5.1下它不是无的。我希望这方面有一个众所周知的问题,以便这个问题能够解决


编辑2:很明显,在尝试导入win32com.client时发生了错误。有没有关于如何解决这个问题的线索?

开始挖掘的地方是你的应用程序。当您认为某个变量应该指向某个对象时,错误消息会告诉您该变量为
None
。因此,找到该变量(错误消息应该告诉您它在哪里),然后找出为什么该变量包含
None


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

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

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


错误消息应该告诉您从何处开始查找。有些东西返回了
None
。感谢您迄今为止给出的所有答案,很明显有些东西没有。我很想知道为什么这个错误不能在2.5.1中可靠地暴露出来。它不是一个普通的应用程序,它是C++测试的一部分,它编写一个Python脚本,然后运行它。因此,调试有点棘手。我建议在不同的目录层次结构下构建CPython 2.5.{0,1,2,3,4},并查看哪个版本从工作转换为不工作。