@Andrea
Thank you - I posted my case to that issue.
@Benjamin
Thanks, wow this looks comprehensive.
I thought of that shutil way but dismissed it, I'd have to try then for
'python', 'python3'. And it would not work in case
user set up a shell alias (say, python3.9) for the python executable in
their env.
Although in that case they probably know how to install packages themselves.
I see shutil tries for the python command here:
https://bitbucket.org/hu-geomatics/enmap-box/src/966a75ffbe903775c03f54e5dc0e663dfb98b2de/enmapbox/dependencycheck.py#lines-166:178
Did this give you any trouble when you rolled it out to the users?
Best regards,
Aron
On 06-04-2022 15:17, Benjamin Jakimow wrote:
Hi Aron,
with the EnMAP-Box plugin we are confronted with missing PIP packages
quite often. Therefore we implemented a "PIP Package Installer"
(screenshot below, source code here:
https://bitbucket.org/hu-geomatics/enmap-box/src/develop/enmapbox/dependencycheck.py)
In case of missing admin rights you can use the PIP "--user" argument
to install packages to the user's home folder
D:\OSGeo4W\bin\python3.EXE -m pip install --user lightgbm
The absolute python executable path can be retrieved with
"shutil.which('python') "
Greetings,
Benjamin
On 2022-04-06 14:01, Aron Gergely via QGIS-Developer wrote:
@Pedro:
Tried it today on Windows w OSGeo QGIS and failed right away. But in
a different way:
If I launch OSGeo QGIS and ask for the python executable's path
(sys.executabe), I get 'C:/OSGeo4W/bin/qgis-bin.exe'. which looks
like entry point is for QGIS. So subprocess calls that and a new
QGIS window opens.
Not feeling like tackling this and probably other cases.
So back to download+including those bins I reckon.
@Johannes:
Thank you. Yes realizing that now..
Cheers,
Aron
On 06-04-2022 12:12, Johannes Kröger (WhereGroup) wrote:
Trying to find a smart way to install Python dependencies for the
users that will not potentially not work or even break stuff is a
very hard thing(tm). Check out these two QEPs for a lot of
discussion and possible approaches:
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/202
<https://github.com/qgis/QGIS-Enhancement-Proposals/issues/202>
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/179
<https://github.com/qgis/QGIS-Enhancement-Proposals/issues/179>
Cheers, Hannes
Am 06.04.22 um 00:10 schrieb Pedro Camargo via QGIS-Developer:
Hey Aron,
I did explore that route, but I found out that
it would fail when the user did not have administrator rights (or
even if QGIS had not been ran as administrator on Windows). Did
you find it to be different?
Cheers,
Pedro
---- On Wed, 06 Apr 2022 03:28:09 +1000 *Aron Gergely
<aron.gerg...@rasterra.nl> <mailto:aron.gerg...@rasterra.nl>* wrote
----
Thank you, I checked out your plugin - yes that seems also a
good way.
I already had the logic to detect, throw message, guide to
dialog, etc... implemented similar to yours.
But I wanted to let pip manage the actual package, so I went
with the subprocess+pip route. Here is a minimum working example:
import subprocess
import sys
try:
subprocess.check_call((sys.executable, '-m', 'pip', 'install',
'h3<=3.99'))
except subprocess.CalledProcessErroras e:
raise e# handle any errors here instead
I connected it to a button in a dialog. And catch stdout,
stderr and the exit code of the subprocess so I can show the
user what is happening.
Have not yet tried on other platforms than Linux. But
sys.executable is there to solve the ambiguity of python
executable path.
Best regards,
Aron
--
Johannes Kröger / GIS-Entwickler/-Berater
---------------------------------------------
Schon gewusst?
In unserem Blog geben wir Tipps & Tricks zu Open-Source-GIS-Software
und berichten aus unserem Experten-Alltag:
https://wheregroup.com/blog/ <https://wheregroup.com/blog/>
---------------------------------------------
WhereGroup GmbH
Grevenweg 89
20537 Hamburg
Germany
Tel: +49 (0)228 / 90 90 38 - 36
Fax: +49 (0)228 / 90 90 38 - 11
johannes.kroe...@wheregroup.com <mailto:johannes.kroe...@wheregroup.com>
www.wheregroup.com <http://www.wheregroup.com>
Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885
-------------------------------
--
Kind Regards,
Aron Gergely
+31 (0) 6 38 70 97 66
*Rasterra* | www.rasterra.nl <http://www.rasterra.nl>
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
--
--
Benjamin Jakimow, Doctoral Researcher
Earth Observation Lab | Geography Department | Humboldt-Universität zu
Berlin
e-mail: benjamin.jaki...@geo.hu-berlin.de
phone: +49 (0) 30 2093 6894
mobile: +49 (0) 157 5656 8477
fax: +49 (0) 30 2093 6848
mail: Unter den Linden 6 | 10099 Berlin | Germany
room: 2'222
--
Email Signature Kind Regards,
Aron Gergely
+31 (0) 6 38 70 97 66
*Rasterra* | www.rasterra.nl
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer