qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.02k stars 2.92k forks source link

Pandas version in QGIS 3.28 different in Windows and macOS #56364

Open jfvilleforceix opened 4 months ago

jfvilleforceix commented 4 months ago

What is the issue about the documentation?

QGIS 3.28 under Windows installs Pandas 2.0.2 and under macOS it installs Pandas 1.3.3. For plugin development it is very problematic because the two versions have big differences.

hoetmaaiers commented 3 months ago

I can confirm that this is problematic for plugin development. Are any workarounds possible?

hoetmaaiers commented 3 months ago

Also wondering if any help could be provided since this is quite blocking.

hoetmaaiers commented 3 weeks ago

@agiudiceandrea, you labeled this as "Downstream", do you have a better idea where the solution lies?

agiudiceandrea commented 3 weeks ago

@hoetmaaiers, the issue is not in the QGIS source code. QGIS uses the Python version and modules versions available in the system, either by default or provided by the QGIS installer or manually installed by the user. For example, QGIS 3.36.3 currently can use pandas 1.3.5 on Ubuntu 22.04, pandas 1.5.3 on Ubuntu 23.04 and 23.10, pandas 2.1.4 on Ubuntu 24.04, if installed using the qgis.org repositories. On Windows, if installed using the OSGeo4W installers, QGIS 3.36.3 currently uses pandas 2.2.2 (no longer 2.0.2). On macOS, if installed using the qgis.org .dmg installer, QGIS 3.36.3 currently uses pandas 1.3.3 (https://github.com/qgis/QGIS-Mac-Packager/blob/ca770ca79494aab15aa404d9f3ce7dc855938ef1/qgis_deps/recipes/python_pandas/recipe.sh#L6), while if installed using the MacPorts installer, it can use pandas 2.2.2.

...and so on...

@jef-n, may you suggest how to proceed? Should the request be reported to https://github.com/qgis/QGIS-Mac-Packager/?

hoetmaaiers commented 2 weeks ago

@agiudiceandrea thanks for the clarification. This python package dependencies are now somewhat unclear to a user and developer of a custom made plugin. Is there a way for a plugin to install a specific version of a package like pandas? I guess this would conflict potentially with other parts of QGIS or plugins depending on e.g. pandas...

It feels like a complicated puzzle (sometimes even like a mess) to get all parts happy with all dependencies installed...

agiudiceandrea commented 2 weeks ago

@hoetmaaiers, I suggest you to check how the different versions of Pyton modules are handled in other plugins. I also suggest you to ask to the qgis-developer mailing list at https://lists.osgeo.org/mailman/listinfo/qgis-developer.

hoetmaaiers commented 2 weeks ago

I would apprciate that.

agiudiceandrea commented 2 weeks ago

EDIT: "I also suggest you to ask to the qgis-developer mailing list at https://lists.osgeo.org/mailman/listinfo/qgis-developer."