#692: Python 3.9 on v2 installer breaks part of stdlib -----------------------+---------------------------- Reporter: akominlsfi | Owner: osgeo4w-dev@… Type: defect | Status: new Priority: major | Component: Installer Version: | Resolution: Keywords: | -----------------------+----------------------------
Comment (by akominlsfi): I tested this theory on a fresh v2 network install with only qgis-ltr-full (3.16.11) selected. Creating a file `<osgeo-install>/apps/python39/sitecustomize.py` with these contents: {{{#!python import os os.add_dll_directory('<osgeo-install>/bin') os.add_dll_directory('<osgeo-install>/apps/qgis-ltr/bin') os.add_dll_directory('<osgeo-install>/apps/Qt5/bin') }}} and a file `<osgeo-install>/apps/python39/lib/site-packages/qgis.pth` with these contents: {{{#!python <osgeo-install>/apps/qgis-ltr/python }}} Then executing python directly from `<osgeo- install>/apps/python39/python.exe` works with all the imports I figured out to test (qgis,PyQt5,osgeo.gdal,osgeo.ogr,scipy,numpy,pandas,matplotlib,psycopg2,pyproj) that have .pyds and may have required dlls somewhere else in the install tree. Not sure about what can be best way to bake in the env variables that would be setup by `<osgeo-install>/etc/ini/*.bat` files, eg. GDAL_DATA, PROJ_LIB etc. that might be necessary for the environment to function in some cases? Could that be something that is also made in customization script, set variable if not already present? Also with this setup creating a venv works both without system site packages (qgis etc. not importable as would be expected), and with system site packages (qgis etc. importable), since the dll path patch is found also when executing the venv python exe. -- Ticket URL: <https://trac.osgeo.org/osgeo4w/ticket/692#comment:2> OSGeo4W <http://trac.osgeo.org/osgeo4w> OSGeo4W is the Windows installer and package environment for the OSGeo stack.
_______________________________________________ osgeo4w-dev mailing list osgeo4w-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/osgeo4w-dev