PyQt4 を使用していくつかのサンプル コードを実行しようとしています。Notepad++ と Enthought Canopy 環境から実行しようとしています。サンプル コードの全体を以下に示します。npp 内から、プラグイン nppExec をpython -i "$(FULL_CURRENT_PATH)"コマンドとして使用しています。(インタラクティブな-iなしでも試しました)
import sys
from PyQt4 import QtGui
def main():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
npp 内から実行すると、内部コンソールがフリーズしているように見え (エラーなし)、ctrl-c で回復可能です
Canopy 内から実行すると、次のエラー メッセージが表示されます。
%run "c:\users\brian\appdata\local\temp\tmpfe9mmh.py"
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
C:\Users\Brian\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.0.0.1160.win-x86\lib\site-packages\IPython\utils\py3compat.pyc in execfile(fname, glob, loc)
174 else:
175 filename = fname
--> 176 exec compile(scripttext, filename, 'exec') in glob, loc
177 else:
178 def execfile(fname, *where):
c:\users\brian\appdata\local\temp\tmpfe9mmh.py in <module>()
20
21 import sys
---> 22 from PyQt4 import QtGui
23
24
C:\Users\Brian\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.0.0.1160.win-x86\lib\site-packages\IPython\external\qt_loaders.pyc in load_module(self, mod_name)
43 Importing %s disabled by IPython, which has
44 already imported an Incompatible QT Binding: %s
---> 45 """ % (mod_name, loaded_api()))
46
47 ID = ImportDenier()
ImportError:
Importing PyQt4 disabled by IPython, which has
already imported an Incompatible QT Binding: pyside
Canopy が単純な C:/python27 ではなく、一見奇妙な場所 (C:\Users\Brian\AppData\Local\Enthought\Canopy32) にアイテムを配置する理由について、私はかなり混乱しています。
Python 2.7 32 ビット、Canopy バージョン: 1.0.0.1160 32 ビット、Win7 64 ビットを実行しています。