Python PySide-Qt:无法初始化OLE(错误80010106)

Python PySide-Qt:无法初始化OLE(错误80010106),python,.net,python-2.7,pyside,python.net,Python,.net,Python 2.7,Pyside,Python.net,我将PySide与Python2.7.3 x64一起使用,在运行我的Qt应用程序时,我注意到Wing IDE的输出中出现了以下错误 Qt:无法初始化OLE(错误80010106) 在我在Wing外部运行Qt应用程序时关闭它之前,这似乎不会引起问题。关闭的应用程序将抛出pythonw.exe windows错误。我假设两者是相关的,即使是最基本的Qt应用程序也是如此。但我不太确定交易是什么。任何想法都将不胜感激 我知道这很古老,但我自己也得出了同样的结论,所以我决定把它作为将来其他人的答案 我遇到

我将PySide与Python2.7.3 x64一起使用,在运行我的Qt应用程序时,我注意到Wing IDE的输出中出现了以下错误

Qt:无法初始化OLE(错误80010106)


在我在Wing外部运行Qt应用程序时关闭它之前,这似乎不会引起问题。关闭的应用程序将抛出pythonw.exe windows错误。我假设两者是相关的,即使是最基本的Qt应用程序也是如此。但我不太确定交易是什么。任何想法都将不胜感激

我知道这很古老,但我自己也得出了同样的结论,所以我决定把它作为将来其他人的答案

我遇到的问题是另一个库正在导入
clr
模块以使用某些.NET库,这在我稍后运行时导致了以下问题:

appQT = QtGui.QApplication([])
通过在程序开始时(甚至在导入之前)初始化Qt,可以保证它将在导入
clr
之前初始化。然后,您可以在程序中将Qt初始化缓慢向后移动,直到再次出现错误(如果您不知道导入的是哪个库
clr


这不是一个理想的解决方案,但对我来说确实有效。

问题将与Qt调用或已初始化为MTA单元模型的线程有关


导入clr后出现问题的用户应注意,在.Net世界中,线程默认初始化为MTA,尽管这可以通过调用或使用来更改。

此问题通过在导入clr之前调用
CoInitialize
来解决:


我也有同样的错误,我想知道如何消除它。它看起来与翅膀无关;我只是在使用PySide+Python2.7.3,我收回这一点;我也在使用.NET。该错误代码是一个Windows的东西,看起来与线程有关:我在导入clr模块(用于使用.NET)时就收到了该错误。当我想显示文件夹对话框(QtGui.QFileDialog.getExistingDirectory())时,我的应用程序会冻结,而之前任何时候我都导入了clr。在同事的项目中,只要导入clr,拖放就停止工作。一定是窗户的东西但是:''我似乎通过稍后放置导入clr解决了这个问题,就在使用.NET对象之前。然后FolderDialog可以工作-如果多次调用它也可以工作(导入clr后也可以调用therfor)…-/初始化的顺序可能很重要…谢谢,在主函数完成工作之前添加[System::StatThread]。