[osgeo4w-dev] [osgeo4w] #692: Python 3.9 on v2 installer breaks part of stdlib
OSGeo4W
trac_osgeo4w at osgeo.org
Thu Sep 30 02:39:26 PDT 2021
#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.
More information about the osgeo4w-dev
mailing list