[GRASS-user] GRASS and Python3

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.

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'

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

Stay well, all,

Rich

On Mon, Dec 28, 2020 at 3:04 AM Rich Shepard <rshepard@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.

On Mon, 28 Dec 2020, Markus Neteler wrote:

Yes (and some distros already removed Python 2 entirely)

Markus,

Supposedly, Slackware-15.0 is to be released Real Soon Now.

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.

Then something's wrong here:

$ python3
Python 3.9.1 (default, Dec 26 2020, 11:21:00) [GCC 5.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import six

Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'six'

The question is what your Slackware (what you are using, AFAIK) six
packages actually contains.

Here the content of the Fedora python3-six package:

...

$ locate python3-six
/usr/doc/python3-six-1.13.0
/usr/doc/python3-six-1.13.0/CHANGES
/usr/doc/python3-six-1.13.0/LICENSE
/usr/doc/python3-six-1.13.0/python3-six.SlackBuild
/usr/doc/python3-six-1.13.0/README.rst
/var/lib/sbopkg/queues/python3-six.sqf
/var/lib/sbopkg/SBo/14.2/python/python3-six.tar.gz.asc
/var/lib/sbopkg/SBo/14.2/python/python3-six
/var/lib/sbopkg/SBo/14.2/python/python3-six/python3-six.info
/var/lib/sbopkg/SBo/14.2/python/python3-six/README
/var/lib/sbopkg/SBo/14.2/python/python3-six/slack-desc
/var/lib/sbopkg/SBo/14.2/python/python3-six/python3-six.SlackBuild
/var/lib/sbopkg/SBo/14.2/python/python3-six.tar.gz
/var/log/removed_packages/python3-six-1.13.0-x86_64-1_SBo-upgraded-2020-04-26,10:05:09
/var/log/removed_packages/python3-six-1.12.0-x86_64-1_SBo-upgraded-2019-11-23,16:18:00
/var/log/packages/python3-six-1.13.0-x86_64-1_SBo
/opt/slackbuilds/Python/python3-six
/opt/slackbuilds/Python/python3-six/six-1.13.0.tar.gz
/opt/slackbuilds/Python/python3-six/slack-desc
/opt/slackbuilds/Python/python3-six/README
/opt/slackbuilds/Python/python3-six/python3-six.info
/opt/slackbuilds/Python/python3-six/python3-six.SlackBuild

I'm not sure what to do about this. I'll further pursue this on the
SlackBuilds.org mail list.

Stay well and Happy New Year,

Rich