使用qgis

时间:2016-01-14 12:16:23

标签: cx-freeze

我尝试从Python程序创建一个exe文件,它使用pyQt和QGis和cx_freeze。

这是cx_freeze使用的setup.py。

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

options = {
    'build_exe': {
        'includes': ['atexit'],
        'excludes': ['tkinter','tcl','tk'],
        'packages': ['PyQt4.QtGui','PyQt4.Qt','qgis.core','qgis.gui','os']
    }
}

executables = [
    Executable('Open4.py', base=base)
]

setup(name='Open4',
      version='1.1',
      description='Open4 Icam',
      options=options,
      executables=executables
      )

当我运行这个脚本时,我可以看到这个缺少的模块:

Missing modules:
? _emx_link imported from os
? ce imported from os
? org.python.core imported from copy
? os.path imported from Open4, ajouterunevoirie, open4__main__, os, qgis.utils, shlex
? os2 imported from os
? os2emxpath imported from os
? posix imported from os
? pwd imported from posixpath
? qgis.core.QGis imported from qgis.utils
? qgis.core.QgsApplication imported from qgis.core.contextmanagers
? qgis.core.QgsExpression imported from qgis.utils
? qgis.core.QgsFeature imported from qgis
? qgis.core.QgsGeometry imported from qgis
? qgis.core.QgsMessageLog imported from qgis.utils
? qgis.core.QgsMessageOutput imported from qgis.utils
? qgis.core.QgsProject imported from qgis.utils
? qgis.gui.QgisInterface imported from qgis.utils
? qgis.gui.QgsMapCanvas imported from ui_openihm
? qgis.server imported from qgis.utils
? riscos imported from os
? riscosenviron imported from os
? riscospath imported from os
? subprocess imported from os

但是该脚本使用exe文件以及DLL和PYD文件生成一个构建文件夹。

问题:cx_freeze说qgis.core和qgis.gui缺少模块,但我可以在build文件夹中看到qgis._core.pyd,qgis._gui.pyd,qgis_core.dll和qgis_gui.dll,所以真的这个模块错过?

现在,当我尝试运行EXE文件时,没有任何附加内容,但即使我尝试在控制台窗口中执行此EXE文件也不会报告错误。

我该如何解决这个问题?这是否意味着缺少某个东西(一个模块?)?

感谢您的帮助。

菲利普

0 个答案:

没有答案