0

質問が漠然としすぎている可能性があることは理解していますが、念のために誰かがこれを見た、または手がかりを得ることができます. Python 2.5.1 で問題なく動作するアプリケーションがあります。しかし、Python 2.5.4 で実行すると、「NoneType is not callable」というメッセージが表示され始めます。

バージョン間の変更ログを確認しましたが、かなりの数の変更があり、何が関連しているのかを判断するのは非常に困難です。

どこからさらに掘り下げ始めるか、ヒントを教えてください。

編集: 明らかに何かが None ですが、問題はなぜ 2.5.1 で None でないのかということです。この質問がヒットするように、これには既知の問題があることを望んでいました。

編集 2: win32com.client をインポートしようとするとエラーが発生することが明らかになりました。それを回避する方法の手がかりはありますか?

4

2 に答える 2

1

質問の編集としてこれを書いた「匿名ユーザー」(おそらく適切にログインしていなかったOP?!)に代わってこの回答を投稿しています(回答として投稿する必要があったため、編集は拒否されました-- これは私が今やっていることです)。

編集3(および回答):完了。同じプロセス内で win32com.client を複数回インポートできないことが判明しました。また、最初のインポートでも、COM キャッシュを再生成して、読み取り専用でないことを確認する必要がありました。win32com は MSXML にのみ必要であると思われるため、win32com をまったく使用しないことで回避しました。XML 処理は、python の標準ライブラリ xml.sax を使用して書き直されました。

于 2012-10-20T11:51:34.383 に答える
1

掘り始める場所はアプリです。Noneエラーメッセージは、オブジェクトを指す必要があると思われる変数があることを示しています。したがって、その変数を見つけて (エラー メッセージでその場所が正確にわかるはずです)、その変数に が含まれている理由を突き止めますNone

あなたのコードが黙ってエラーをキャッチしているか、誤った仮定をしている可能性は十分にあります。そのエラーまたは仮定を見つけて、そこから逆方向に作業します。

于 2012-10-18T22:38:57.690 に答える