Python 使用Pyinstaller编译为exe时缺少模块

Python 使用Pyinstaller编译为exe时缺少模块,python,python-2.7,pyqt,pyinstaller,qgis,Python,Python 2.7,Pyqt,Pyinstaller,Qgis,我的脚本运行正常,但当我试图通过Pyinstaller编译它时,我得到一个“消息框中的脚本执行失败错误”。Pyinstaller完成并创建了一个.exe,但我一打开它就发现了错误。我还在警告日志中看到我缺少模块。下面是我正在尝试导入的以下模块 from qgis.core import * from PyQt4 import QtGui from PyQt4 import QtCore import time, datetime 我真的不明白整个过程是如何运作的。我想我只需要向pyinstal

我的脚本运行正常,但当我试图通过Pyinstaller编译它时,我得到一个“消息框中的脚本执行失败错误”。Pyinstaller完成并创建了一个.exe,但我一打开它就发现了错误。我还在警告日志中看到我缺少模块。下面是我正在尝试导入的以下模块

from qgis.core import *
from PyQt4 import QtGui
from PyQt4 import QtCore
import time, datetime
我真的不明白整个过程是如何运作的。我想我只需要向pyinstaller提供我的脚本,它就可以编译了。我一直在阅读有关.spec文件、隐藏导入和控制盘的内容

有人有什么建议或想法吗?这是我用来编译脚本的命令

C:\fran\files\gis\pyqt4_scripts\ C:\OSGeo4W\apps\Python27\Scripts\pyinstaller.exe --onefile --windowed myscript.py
我也尝试过使用--onedir。所有模块都可以在我安装的python中找到,位于C:\OSGeo4W\apps\Python27\Lib\site包中


**2016年11月5日编辑有没有办法明确告诉pyinstaller在哪里可以找到这些文件?或者以某种方式在python脚本中显式导入?

是否可以在不使用
--windowed
选项的情况下重新运行
pyinstaller
,从命令行运行并发布错误?我在运行时没有使用--windowed选项,但在运行.exe时,一个黑色窗口出现了一秒钟,然后关闭。在命令行“警告:尝试两次添加不同大小写的Python模块:PyQt4.QtGui”中进行编译时,我得到了以下警告,但PyQt4.QtCore得到了相同的警告。我认为这是问题的根源。我在警告日志中也有大量丢失的模块。正如我所说,您必须从命令行运行exe。如果您只是双击它,窗口将关闭,您将看不到错误消息。真正的罪犯会出现在那里。大多数情况下,
pyinstaller
警告不会导致错误。您能否在不使用
--windowed
选项的情况下重新运行
pyinstaller
,从命令行运行并发布错误?我在运行时没有使用--windowed选项,但当我运行.exe时,一个黑色窗口出现了一秒钟,然后关闭。在命令行“警告:尝试两次添加不同大小写的Python模块:PyQt4.QtGui”中进行编译时,我得到了以下警告,但PyQt4.QtCore得到了相同的警告。我认为这是问题的根源。我在警告日志中也有大量丢失的模块。正如我所说,您必须从命令行运行exe。如果您只是双击它,窗口将关闭,您将看不到错误消息。真正的罪犯会出现在那里。大多数情况下,
pyinstaller
警告不会导致错误。