2016-03-01 92 views
2

我有一个PyQt应用程序,我试图用PyInstaller 3.1编译成一个exe文件。它编译成exe文件,但是,启动时不显示GUI(单击exe文件)。其中一条编辑信息是:PyInstaller无法找到pyqt4插件目录

ImportError: No module named site 5576 ERROR: Cannot find PyQt4 plugin directories 5576 WARNING: Hidden import 'PyQT4._qt' not found (probably old hook)

我觉得这就是为什么UI不会显示出来。我已经在分析对象的pathex属性中添加了PyQt4的所有路径,但都无济于事。下面是我的spec文件:

# -*- mode: python -*- 

block_cipher = None 


a = Analysis(['main32.py'], 
      pathex=['C:/OSGeo4W/apps/Python27/Lib/site-packages/PyQt4','./src'], 
      binaries=None, 
      datas=None, 
      hiddenimports=[], 
      hookspath=None, 
      runtime_hooks=None, 
      excludes=None, 
      win_no_prefer_redirects=None, 
      win_private_assemblies=None, 
      cipher=block_cipher) 
pyz = PYZ(a.pure, a.zipped_data, 
      cipher=block_cipher) 
exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='MyExe', 
      debug=False, 
      strip=None, 
      upx=True, 
      console=False) 

任何想法是下一个试试?

+0

是'site'包通过你的书面或它的库的依赖? – Astery

回答

1

我有同样的错误,我也做这个解决:

  1. 卸载PyQt4的(“PIP卸载PyQt4的”在CMD);

  2. 删除“PyQt4”文件夹“... PythonX \ Lib \ site-packages \”;

  3. 从这里下载网站“.whl”包:Python Expansion Packages你需要下载权WHL,看文件的名称,因为即时通讯使用Python3.5,文件“PyQt4-4.11 .4- cp35 -none-win32.whl“为我工作!

  4. 再次安装,在该文件的位置和打字打开CMD: “PIP安装PyQt4-4.11.4-CP35-NONE-win32.whl”。当然你会输入你的文件名。

Note: Only by uninstalling, I could compile my script. But if you are really using PyQt4 code, you gonna need to install it again. Please, thumbs up if it worked for you too! ;)