gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] Update on Python Version Compatibility


From: Fred Wright
Subject: [gpsd-dev] Update on Python Version Compatibility
Date: Sun, 27 Mar 2016 01:37:14 -0700 (PDT)

I did some more extensive testing of the six end-user Python programs
against various versions of Python (on OSX).  This was all done from the
build directory, so that library locations weren't an issue.

First of all, Python < 2.6 doesn't work for a variety of reasons.  And
Python 3 < 3.3 doesn't work due to the lack of the Unicode literal.  So
the current maximal compatibility list is 2.6, 2.7, 3.3, 3.4, 3.5, and
everything below is relative to that.

I was able to locally extend py-gobject3 (officially only 2.7, 3.4, and
3.5) to include 3.3, but not 2.6.  The latter case doesn't build even
though the website claims 2.6 is adequate.

gegps:
Works with all versions.

gpscat:
Only works with Python 2, due to the 'packet' C module not working with
Python 3.  However, to get it to work with 2.6, I needed to build my own
Python 2.6 (a tweaked MacPorts version), since both the standard MacPorts
version and the Apple version have select.poll disabled, for resons that
appear to be historical.

gpsfake:
Only works with Python 2, for the same 'packet' reason.  This may have
been missed since "scons check" explicitly runs it with the scons Python.

gpsprof:
Now works with all versions, but needed a minor fix for a preexisting
(since Nov-2013) issue with Python 2.6.  Patch sent.

xgps:
Only works with Python 2.7, as far as I can test.  I don't think it has
any direct issues with Python 2.6, but I have no py-gobject3 for 2.6 as
noted above.  It doesn't work with Python 3 due to the 'clienthelpers' C
module not working.

xgpsspeed:
Only *fully* works with 2.7, as far as I can test.  As with xgps, I think
it would probably work with 2.6 if there were a py-gobject3 for 2.6.  With
Python 3, the main display works fine but the skyview overlay is missing.
I didn't notice this before because the satellite view info is normally
unavailable in my setup unless I take some special actions, which I hadn't
done when I tested it before, and never having seen that display I didn't
miss it. :-)

I believe the issues with packet and clienthelpers have to do with the
fact that C code really needs some fixes to work with Python 3, as
described here:

        http://python3porting.com/cextensions.html

Fred Wright



reply via email to

[Prev in Thread] Current Thread [Next in Thread]