Я пытаюсь создать исполняемый файл для некоторого кода на Python3.4 для распространения в Windows. Эта программа требует GDAL для некоторых функций отображения, но она появляется в отсутствующих модулях во время сборки cx_Freeze:
Missing modules:
? _gdal imported from osgeo, osgeo.gdal
? _gdal_array imported from osgeo.gdal_array
? _gdalconst imported from osgeo.gdalconst
? _ogr imported from osgeo.ogr
? _osr imported from osgeo.osr
Cx_Freeze.exe все еще собирается, но когда я пытаюсь запустить его, я, естественно, получаю:
ImportError: No module named '_gdal'
Ниже мой сценарий установки:
import sys
from cx_Freeze import setup, Executable
application_title = "Parametric_Price" #what you want to application to be called
main_python_file = "ParamMain.py" #the name of the python file you use to run the program
base = None
if sys.platform == "win32":
base = "Win32GUI"
includes = ["atexit","re","osgeo.ogr"]
packages = ["osgeo"]
# includeFiles =
build_exe_options = {"packages": packages, "includes": includes}
setup(
name = application_title,
version = "0.1",
description = "Parametric pricing tool using historical earthquake, hurricane datasets",
options = {"build_exe" : build_exe_options },
executables = [Executable(main_python_file, base = base)])
Я пробовал различные способы включения модуля вручную, используя include в параметрах build_exe в установочном файле cx_Freeze, но безрезультатно, а использование Python3 действительно ограничивает мои возможности для альтернативных исполняемых инструментов распространения. Кто-нибудь понял, как разрешить этот импорт?
import _gdal
, а затемprint _gdal
в оболочке Python, что вы увидите? - person Thomas K   schedule 28.07.2014print _gdal
должен показать вам, откуда он загружается, что может подсказать, почему cx_Freeze его не находит. - person Thomas K   schedule 29.07.2014