[Qgis-developer] plugins.qgis.org - Python
gordon at shieldaig.com
gordon at shieldaig.com
Fri Nov 11 15:50:34 PST 2016
Being somewhat unfamiliar with Python I needed to have a QGIS plugin to
debug my code.
I modified the QGIS remote debug code for the QGIS 2.99 development
version. It works on Ubuntu 16.04 and is forked from the GitHub site
for the qgis-remote-debug plugin.
This brought about a few questions:
1. Are plugins going to be a complete break from QGIS < 2.99 in moving
forward to Python 3.5, Qt5.7, etc?
2. Is 2to3 the only way to go? I didn't use it but it probably would
have been easier.
3. Is a plugin supposed to be backward compatible from Python 3.5+ and
Qt5.7 to Python 2.7 or less and Qt4?
4. How does one code to make the plugin work in the QGIS <= 2.18 and
QGIS >= 2.99?
5. How is python-six, python3-six, or pypy-six supposed to be used or
python-future for that matter?
Any pointers will definitely help me produce more useful code.
Gordon
On 2016-11-10 18:37, gordon at shieldaig.com wrote:
> The complication is that the plugin has to require a minimum QGIS
> version of 2.99 but will will only show in the list if it is QGIS 3.0.
>
> I have a remote debug version plugin that works on Ubuntu 16.04, QGIS
> 2.99 dev, and Eclipse Oxygen with PyQGIS3 (Python3) environment and
> PyDev but getting the code in-place wasn't automatic. I manually
> copied it over to ~/apps/share/qgis/python/plugins. To use on Ubuntu
> 16.04 .qgis3 (Python 3) and .qgis2 (Python 2) are hidden folders on
> Ubuntu - so in Files-View-Show Hidden Files has to be activated before
> the environment can be setup.
>
> How is one supposed to make plugins backward compatible? Import
> syntax seems to be very different in Python 3 and print statement
> syntax (among other changes) is also very different. Can plugins pass
> Python 2 and Python 3 lint checks or compilation? How does one do
> that? The compiled python files (.pyc) are in a cache folder rather
> in the same folder as .py files. This is an intentional difference
> but do they work or are they redundant?
>
> Gordon
>
More information about the Qgis-developer
mailing list