Re: [Qgis-user] Adding python package dependencies to a QGIS plugin

2022-04-21 Thread WhereGroup

Hey Robert :)

tl;dr: Check this out -> 
https://lists.osgeo.org/pipermail/qgis-developer/2022-April/064661.html


This question has been asked many times but because mailing lists are 
... special ... the discussions around it are spread across tens of 
messages, accessible via arcane and hard-to-navigate websites that might 
not even be indexed nicely by search engines.


Anyways, just some days ago this was discussed once again on the 
qgis-developer list: 
https://lists.osgeo.org/pipermail/qgis-developer/2022-April/064661.html


In this case you are lucky that the discussion has not gone into another 
month yet so you should be able to click on "Next message (by thread)" 
to see the discussion bit-by-bit. I'd recommend checking the threaded 
view too though 
https://lists.osgeo.org/pipermail/qgis-developer/2022-April/thread.html 
because someone might have decided to branch off into another thread 
with a different mail subject.


If you want to reply, you cannot use your account on the qgis-user 
mailing list but have to register once again.


No, I don't like mailing lists, thanks for asking! >:( ;)

Cheers, Hannes


Am 19.04.22 um 23:08 schrieb nagyrobi_r--- via Qgis-user:

Hei everybody!

I am trying to develop a QGIS plugin, and the plugin requires python 
modules that are not present in the basic QGIS python install. Since i 
want these packages to install for users that might wish to use the 
plugin, what method would be the correct one to install the 
dependencies? I am thinking that some users might have multiple python 
installs at once, multiple pythonpaths etc.


1. Method using setup.py when installing the module. But how would 
that run? or when would it run? Very open for suggestions here.
2. Using subprocess with a try and except clause: prone for errors, 
since any python instance might be called :

import sys
    import subprocess

# implement pip as a subprocess:
subprocess.check_call(['python', '-m', 'pip', 'install',
''])
3. Using pip.main, which seems to warn about a deprecation 
possibilities for the future

import pip
pip.main(['install', package])

Method 1 could run one time at the plugin install, whilst methods 2 
and 3 would run at every plugin load.

How do you go about adding dependencies to your package?

Kind regards,
Robert Nagy


___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info:https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe:https://lists.osgeo.org/mailman/listinfo/qgis-user


--
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/
-

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
www.wheregroup.com
Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885
---



OpenPGP_0xBF7B268A77C202D5.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature
___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Adding python package dependencies to a QGIS plugin

2022-04-21 Thread nagyrobi_r--- via Qgis-user
Thank you Richard for the answer. I'll see what i can cook up. 

Sent from Yahoo Mail on Android 
 
  On Wed, Apr 20, 2022 at 8:11 PM, Richard Duivenvoorde via 
Qgis-user wrote:   Hi,

if you would ask me, I'd advice:
- small (python) modules? Add a copy in your plugin
- others: instruct users to install them (depending on OS this is more or less 
difficult)

Your methods all need some 'magic' to happen, which will probably break, but 
feel free to try.

Regards,

Richard Duivenvoorde

On 4/19/22 23:08, nagyrobi_r--- via Qgis-user wrote:
> Hei everybody!
> 
> I am trying to develop a QGIS plugin, and the plugin requires python modules 
> that are not present in the basic QGIS python install. Since i want these 
> packages to install for users that might wish to use the plugin, what method 
> would be the correct one to install the dependencies? I am thinking that some 
> users might have multiple python installs at once, multiple pythonpaths etc.
> 
> 1. Method using setup.py when installing the module. But how would that run? 
> or when would it run? Very open for suggestions here.
> 2. Using subprocess with a try and except clause: prone for errors, since any 
> python instance might be called :
>  import sys
>      import subprocess
> 
>  # implement pip as a subprocess:
>  subprocess.check_call(['python', '-m', 'pip', 'install',
>  ''])
> 3. Using pip.main, which seems to warn about a deprecation possibilities for 
> the future
> import pip
> pip.main(['install', package])
> 
> Method 1 could run one time at the plugin install, whilst methods 2 and 3 
> would run at every plugin load.
> How do you go about adding dependencies to your package?
> 
> Kind regards,
> Robert Nagy
> 
> 
> ___
> Qgis-user mailing list
> Qgis-user@lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
  
___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Re: [Qgis-user] Adding python package dependencies to a QGIS plugin

2022-04-20 Thread Richard Duivenvoorde via Qgis-user

Hi,

if you would ask me, I'd advice:
- small (python) modules? Add a copy in your plugin
- others: instruct users to install them (depending on OS this is more or less 
difficult)

Your methods all need some 'magic' to happen, which will probably break, but 
feel free to try.

Regards,

Richard Duivenvoorde

On 4/19/22 23:08, nagyrobi_r--- via Qgis-user wrote:

Hei everybody!

I am trying to develop a QGIS plugin, and the plugin requires python modules 
that are not present in the basic QGIS python install. Since i want these 
packages to install for users that might wish to use the plugin, what method 
would be the correct one to install the dependencies? I am thinking that some 
users might have multiple python installs at once, multiple pythonpaths etc.

1. Method using setup.py when installing the module. But how would that run? or 
when would it run? Very open for suggestions here.
2. Using subprocess with a try and except clause: prone for errors, since any 
python instance might be called :
 import sys
     import subprocess

 # implement pip as a subprocess:
 subprocess.check_call(['python', '-m', 'pip', 'install',
 ''])
3. Using pip.main, which seems to warn about a deprecation possibilities for 
the future
import pip
pip.main(['install', package])

Method 1 could run one time at the plugin install, whilst methods 2 and 3 would 
run at every plugin load.
How do you go about adding dependencies to your package?

Kind regards,
Robert Nagy


___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


[Qgis-user] Adding python package dependencies to a QGIS plugin

2022-04-19 Thread nagyrobi_r--- via Qgis-user
Hei everybody!
I am trying to develop a QGIS plugin, and the plugin requires python modules 
that are not present in the basic QGIS python install. Since i want these 
packages to install for users that might wish to use the plugin, what method 
would be the correct one to install the dependencies? I am thinking that some 
users might have multiple python installs at once, multiple pythonpaths etc.
1. Method using setup.py when installing the module. But how would that run? or 
when would it run? Very open for suggestions here.2. Using subprocess with a 
try and except clause: prone for errors, since any python instance might be 
called :import sys    import subprocess
# implement pip as a subprocess:subprocess.check_call(['python', '-m', 
'pip', 'install', ''])3. Using pip.main, which seems to warn 
about a deprecation possibilities for the futureimport pippip.main(['install', 
package])
Method 1 could run one time at the plugin install, whilst methods 2 and 3 would 
run at every plugin load.How do you go about adding dependencies to your 
package?
Kind regards,Robert Nagy
___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user