Python 运行PyQt4示例代码时不会发生任何事情

Python 运行PyQt4示例代码时不会发生任何事情,python,python-2.7,pyqt4,Python,Python 2.7,Pyqt4,我正在尝试使用PyQt4运行一些示例代码。我正在尝试从Notepad++和Enthough Canopy环境运行它。下面完整显示了示例代码。在npp内部,我使用插件nppExec和python-I“$(完整当前路径)作为命令。(我也在没有互动的情况下尝试过-i) 当我从npp内部运行它时,内部控制台似乎冻结(没有错误),并且可以通过ctrl-c恢复 当我在Canopy中运行它时,我得到以下错误消息 %run "c:\users\brian\appdata\local\temp\tmpfe9mmh

我正在尝试使用PyQt4运行一些示例代码。我正在尝试从Notepad++和Enthough Canopy环境运行它。下面完整显示了示例代码。在npp内部,我使用插件nppExec和python-I“$(完整当前路径)作为命令。(我也在没有互动的情况下尝试过-i)

当我从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
%运行“c:\users\brian\appdata\local\temp\tmpfe9mmh.py”
---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
C:\Users\Brian\AppData\Local\enthund\Canopy32\App\AppData\canopy-1.0.0.1160.win-x86\lib\site packages\IPython\utils\py3compat.pyc在execfile(fname,glob,loc)中
174.其他:
175 filename=fname
-->176 exec编译(脚本文本,文件名,'exec'),在glob,loc中
177其他:
178 def execfile(fname,*其中):
c:\users\brian\appdata\local\temp\tmpfe9mmh.py in()
20
21进口系统
--->22从PyQt4导入QtGui
23
24
C:\Users\Brian\AppData\Local\enthught\Canopy32\App\AppData\canopy-1.0.0.1160.win-x86\lib\site packages\IPython\external\qt\u loaders.pyc加载模块(self,mod\u name)
43导入%s被IPython禁用,它已
44已导入不兼容的QT绑定:%s
--->45”“”%(模块名称,加载的api())
46
47 ID=ImportDenier()
进口恐怖主义:
导入IPython禁用的PyQt4,它已
已导入不兼容的QT绑定:pyside
我很困惑为什么Canopy会将它的项目放在一个看似奇怪的地方(C:\Users\Brian\AppData\Local\enthught\Canopy32),而不是简单的C:/python27

我正在运行python 2.7 32位版本:1.0.0.1160 32位,Win7 64位

在您的计算机上运行python时,pyside(Qt的另一种python绑定)似乎以某种方式自动导入。同时导入pyside和pyqt会导致某种冲突,从而导致您的问题

我想知道..您的路径中是否有一个名为sys.py的模块正在使用pyside?您正在导入sys,它是一个内置模块,但如果您的路径中有一个名为sys.py的文件,则会将其导入。如果是这种情况,则可以运行脚本:

import sys

print sys.__file__
查找文件的位置。如果要导入的sys模块实际上是内置模块,sys将不具有
\uuuuu file\uuuu
属性,并且将引发异常


顺便说一下,我在我的机器上尝试了您的示例代码,它运行时没有任何问题。

在NppExec中,使用以下命令

CMD /C python -u "$(FULL_CURRENT_PATH)"
而不是

python "$(FULL_CURRENT_PATH)"

上面的代码可以正常工作。
python "$(FULL_CURRENT_PATH)"