Я пытаюсь создать исполняемый файл для некоторого кода в Python3.4 для распространения в Windows. Эта программа требует GDAL для некоторых функций отображения, но он приходит в отсутствующих модулях во время cx_Freeze сборки:Импорт GDAL с cx_Freeze, Python3.4
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 еще строит, но когда я пытаюсь запустить его, я, естественно, получить:
Ниже моя установка скрипта:
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)])
Я пробовал различные способы включения модуля вручную включает в опциях build_exe в файле настройки cx_Freeze, чтобы не является vail, а находиться на Python3 действительно ограничивает мои возможности для альтернативных исполняемых инструментов распространения. Кто-нибудь понял, как решить этот импорт?
Если вы выполните 'import _gdal', а затем' print_gdal' в оболочке Python, что вы видите? –
@ThomasK Импортирует без ошибок, и я могу получить доступ к его функциям. В самой программе я импортирую ее косвенно через osgeo.ogr, osgeo.osr, и он работает правильно там. Я считаю, что проблема связана с моей установкой cx_Freeze. – khe
Я понимаю. Но 'print_gdal' должен показать вам, откуда он загружен, что может дать представление о том, почему cx_Freeze не находит его. –