Not long ago the latest build of grass from the github repo built and ran
just fine. Today I tried to invoke grass -- with the wxPython GUI -- and it
failed to find the widget library:
$ grass7 -gui
Starting GRASS GIS...
WARNING: GRASS GUI not found. Please check your installation.
Switching to text based interface mode.
Hit RETURN to continue.
Traceback (most recent call last):
File "/usr/local/bin/grass7", line 2204, in <module>
main()
File "/usr/local/bin/grass7", line 2134, in main
grass_gui=grass_gui)
File "/usr/local/bin/grass7", line 1370, in lock_mapset
ret = call([gpath("etc", "lock"), lockfile, "%d" % os.getpid()])
File "/usr/local/bin/grass7", line 233, in call
return subprocess.call(cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 172, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Installed here is wxPython-3.0.2.0:
/usr/doc/wxPython-3.0.2.0
/usr/include/wx-3.0/wx/wxPython
Suggestions?
Rich
On Wed, Aug 14, 2019 at 8:41 PM Rich Shepard <rshepard@appl-ecosys.com> wrote:
Not long ago the latest build of grass from the github repo built and ran
just fine. Today I tried to invoke grass -- with the wxPython GUI -- and it
failed to find the widget library:
$ grass7 -gui
Starting GRASS GIS...
WARNING: GRASS GUI not found. Please check your installation.
Switching to text based interface mode.
Hit RETURN to continue.
Traceback (most recent call last):
File "/usr/local/bin/grass7", line 2204, in <module>
main()
File "/usr/local/bin/grass7", line 2134, in main
grass_gui=grass_gui)
File "/usr/local/bin/grass7", line 1370, in lock_mapset
ret = call([gpath("etc", "lock"), lockfile, "%d" % os.getpid()])
File "/usr/local/bin/grass7", line 233, in call
return subprocess.call(cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 172, in call
You try to use Python 2 while we require Python 3 unless you
search/replace the shebang using the find script posted some days ago.
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Installed here is wxPython-3.0.2.0:
/usr/doc/wxPython-3.0.2.0
/usr/include/wx-3.0/wx/wxPython
Suggestions?
AFAIK You miss still the standard Python 3.
Markus
On Wed, 14 Aug 2019, Markus Neteler wrote:
You try to use Python 2 while we require Python 3 unless you
search/replace the shebang using the find script posted some days ago.
Markus,
Ah, I have Python3-3.7.4 installed. I need to find where grass is calling
for python. Will search for it.
Thanks,
Rich
On Wed, 14 Aug 2019, Markus Neteler wrote:
You try to use Python 2 while we require Python 3 unless you
search/replace the shebang using the find script posted some days ago.
Markus,
Do you recall the thread with that script? I'll see if I can find it in the
mail list archive.
Rich
On Wed, 14 Aug 2019, Rich Shepard wrote:
Do you recall the thread with that script? I'll see if I can find it in the
mail list archive.
Didn't see it in the July or August gmane archives. A pointer to where to
find/change the shebank would be helpful.
Thanks,
Rich
On Wed, Aug 14, 2019 at 10:34 PM Rich Shepard <rshepard@appl-ecosys.com> wrote:
On Wed, 14 Aug 2019, Markus Neteler wrote:
> You try to use Python 2 while we require Python 3 unless you
> search/replace the shebang using the find script posted some days ago.
Markus,
Do you recall the thread with that script? I'll see if I can find it in the
mail list archive.
If you want to enforce Python 2, run
find -name '*.py' | xargs sed -i 's,#!/usr/bin/env
python3,#!/usr/bin/env python2,' && \
sed -i 's,python3,python2,' include/Make/Platform.make.in
See: https://lists.osgeo.org/pipermail/grass-dev/2019-August/093052.html
But it is definitely NOT recommended.
Better update your machine to Python 3.
Markus
On Wed, 14 Aug 2019, Markus Neteler wrote:
If you want to enforce Python 2, run
No. I think that grass is the last application here that used python2. As I
wrote I have python3-3.7.4 installed and everything I write has been in
python3 for the last year or so.
In my configuration file I changed --with-python to --with-python3 but it
makes no difference; grass still cannot find the GUI.
Rich
On Wed, 14 Aug 2019, Rich Shepard wrote:
Not long ago the latest build of grass from the github repo built and ran
just fine. Today I tried to invoke grass -- with the wxPython GUI -- and it
failed to find the widget library:
$ grass7 -gui
Starting GRASS GIS...
WARNING: GRASS GUI not found. Please check your installation.
Switching to text based interface mode.
Let me rephrase my question: What do I change so grass_dev sees the
Python3-3.7.4 installation?
If grass no longer requires python2 I'll be happy to remove it from all
hosts.
Rich
On Wed, 14 Aug 2019, Rich Shepard wrote:
Let me rephrase my question: What do I change so grass_dev sees the
Python3-3.7.4 installation?
All fixed. I added the 64-bit specific requirements to the configuration
file and learned that the executable binary is named /usr/bin/grass79 rather
than /usr/bin/grass7 (which had worked before).
Mea culpa!
Rich