[GRASS-user] GRASS and Python3

Markus Neteler neteler at osgeo.org
Mon Dec 28 03:58:29 PST 2020


On Mon, Dec 28, 2020 at 3:04 AM Rich Shepard <rshepard at appl-ecosys.com> wrote:
>
> Since GRASS now will use Python3 (and Python2 reaches EOL this coming
> Thursday) I'm trying to clean out all Python2 modules in favor of their
> Python3 versions.

Yes (and some distros already removed Python 2 entirely)

> A couple of days ago I removed the 'six' python module because
> python3-six-1.13.0-x86_64-1_SBo is installed here. But, grass7.9.dev isn't
> happy:
>
> $ grass79 -text
> Traceback (most recent call last):
>    File "/usr/local/bin/grass79", line 52, in <module>
>      import six
> ModuleNotFoundError: No module named 'six'

On my Fedora 33 box I have removed all python2-* packages [1]. The GUI
comes up as expected, using python3-six.

Another test:

python3
Python 3.9.0 (default, Oct  6 2020, 00:00:00)
[GCC 10.2.1 20200826 (Red Hat 10.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import six
>>>

... all fine.

> Guess I need to re-install python2's six.

I don't think so.
The question is what your Slackware (what you are using, AFAIK) six
packages actually contains.

Here the content of the Fedora python3-six package:

rpm -qil python3-six
[...]
Summary    : Python 2 and 3 compatibility utilities
Description : python-six provides simple utilities for wrapping over
differences between Python 2 and Python 3. Python 3 version.
/usr/lib/python3.9/site-packages/__pycache__/six.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/__pycache__/six.cpython-39.pyc
/usr/lib/python3.9/site-packages/six-1.15.0.dist-info
/usr/lib/python3.9/site-packages/six-1.15.0.dist-info/INSTALLER
[...]
/usr/lib/python3.9/site-packages/six.py
[...]

The package which you need should show a similar structure.

Markus

[1] Annoyingly, GIMP still wants Python 2 (exception temporarily
granted in Fedora) but that's being worked on and off-topic here.


More information about the grass-user mailing list