From c786591201f0397fd9c5b60c4377cdedf996b6a3 Mon Sep 17 00:00:00 2001 From: jkl Date: Fri, 5 Jan 2024 17:15:24 +0100 Subject: [PATCH] Fix #24 and update to 1.3.1 --- src/emagpy/__init__.py | 2 +- src/ui-dir.spec | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/emagpy/__init__.py b/src/emagpy/__init__.py index 48e3eea..0c5dcaa 100644 --- a/src/emagpy/__init__.py +++ b/src/emagpy/__init__.py @@ -5,7 +5,7 @@ @author: jkl """ -EMagPy_version = '1.3.0' +EMagPy_version = '1.3.1' name = 'emagpy' from emagpy.Problem import Problem from emagpy.Survey import Survey diff --git a/src/ui-dir.spec b/src/ui-dir.spec index 180d2c1..ae603f3 100644 --- a/src/ui-dir.spec +++ b/src/ui-dir.spec @@ -2,6 +2,9 @@ # this file is used by pyinstaller to generate a zip file that would # then be uncompressed by the splashScreen.spec +import os +import glob + block_cipher = None datas=[ @@ -17,8 +20,6 @@ datas=[ def extra_datas(mydir, outdir='emagpy'): def rec_glob(p, files): - import os - import glob for d in glob.glob(p): if os.path.isfile(d): files.append(d) @@ -34,12 +35,25 @@ def extra_datas(mydir, outdir='emagpy'): datas += extra_datas('examples') datas += extra_datas('image', outdir='.') +# rasterio fix with pyinstaller +rdir = '../../pyenv/lib/site-packages/rasterio/' +rasterio_imports_paths = glob.glob(rdir + '*.py') +rasterio_imports = ['rasterio._shim'] +for item in rasterio_imports_paths: + current_module_filename = os.path.split(item)[-1] + current_module_filename = 'rasterio.'+current_module_filename.replace('.py', '') + rasterio_imports.append(current_module_filename) + +# the projection are stored in separate folders and also need to included +for d in ['gdal_data', 'proj_data']: + datas.append((os.path.join(rdir, d), os.path.join('rasterio', d))) +print(datas) a = Analysis(['ui.py'], pathex=[], binaries=[], datas=datas, - hiddenimports=['pkg_resources.py2_warn'], + hiddenimports=['pkg_resources.py2_warn'] + rasterio_imports,#,'rasterio.sample', 'rasterio.vrt', 'rasterio.features'], hookspath=[], runtime_hooks=[], excludes=[],