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