Upon attempting to compile python 3.7 I hit Could not import runpy module
:
jeremyr@b88:$ wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz....jeremyr@b88:~/Python-3.7.3$ ./configure --enable-optimizations jeremyr@b88:~/Python-3.7.3$ make clean jeremyr@b88:~/Python-3.7.3$ make -j32 .... gcc -pthread -Xlinker -export-dynamic -o Programs/_testembed Programs/_testembed.o libpython3.7m.a -lcrypt -lpthread -ldl -lutil -lm ./python -E -S -m sysconfig --generate-posix-vars ;\if test $? -ne 0 ; then \ echo "generate-posix-vars failed" ; \ rm -f ./pybuilddir.txt ; \ exit 1 ; \fiCould not import runpy moduleTraceback (most recent call last): File "/home/jeremyr/Python-3.7.3/Lib/runpy.py", line 15, in <module> import importlib.util File "/home/jeremyr/Python-3.7.3/Lib/importlib/util.py", line 14, in <module> from contextlib import contextmanager File "/home/jeremyr/Python-3.7.3/Lib/contextlib.py", line 4, in <module> import _collections_abcSystemError: <built-in function compile> returned NULL without setting an errorgenerate-posix-vars failedMakefile:603: recipe for target 'pybuilddir.txt' failedmake[1]: *** [pybuilddir.txt] Error 1make[1]: Leaving directory '/home/jeremyr/Python-3.7.3'Makefile:531: recipe for target 'profile-opt' failedmake: *** [profile-opt] Error 2jeremyr@88:~/Python-3.7.3$ lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 8.11 (jessie)Release: 8.11Codename: jessiejeremyr@88:~/Python-3.7.3$ gcc --version gcc (Debian 4.9.2-10+deb8u2) 4.9.2Copyright (C) 2014 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.jeremyr@88:~/Python-3.7.3$ sudo apt upgrade gccReading package lists... DoneBuilding dependency tree Reading state information... DoneCalculating upgrade... gcc is already the newest version.jeremyr@b88:~/Python-3.7.3$ echo $PYTHONPATH
Any advice on how to overcome this and install python3.7 appreciated.
Edit - the solution listed below seems to work for various other python versions, so I changed title to python 3.x from 3.7