0

I updated my machine from 15.10 to 16.04 a few days ago.

Now I have to face this strange Issue: rhythmbox tells me, that it Failed to import the site module and crashes, because python3.5 is missing the module _sysconfigdata_m.

I had an installation from source of python3.5.1, but it seems like the release-uprgade removed this installation.
The old python3.5.1´s files were located under /usr/lib/python3.5.1/.

I already tried to reinstall python3.5 and rhythmbox.

The complete traceback:

me@my_machine:~$ rhythmbox
Failed to import the site module
Traceback (most recent call last):
  File "/usr/lib/python3.5/site.py", line 580, in <module>
   main()
 File "/usr/lib/python3.5/site.py", line 566, in main
   known_paths = addusersitepackages(known_paths)
 File "/usr/lib/python3.5/site.py", line 287, in addusersitepackages
   user_site = getusersitepackages()
 File "/usr/lib/python3.5/site.py", line 263, in getusersitepackages
   user_base = getuserbase() # this will also set USER_BASE
 File "/usr/lib/python3.5/site.py", line 253, in getuserbase
   USER_BASE = get_config_var('userbase')
 File "/usr/lib/python3.5/sysconfig.py", line 595, in get_config_var
   return get_config_vars().get(name)
 File "/usr/lib/python3.5/sysconfig.py", line 538, in get_config_vars
   _init_posix(_CONFIG_VARS)
 File "/usr/lib/python3.5/sysconfig.py", line 410, in _init_posix
   from _sysconfigdata import build_time_vars
 File "/usr/lib/python3.5/_sysconfigdata.py", line 6, in <module>
   from _sysconfigdata_m import *
ImportError: No module named '_sysconfigdata_m'

btw:
It seems like 16.04 removed python3.4 (my default python3) and replaced it with python3.2.

Linking /usr/bin/python3.2 to /usr/bin/python3 just caused other python3 programs, like gnome-termial to crash.

Other forums said, that this error appears, if python2 is used instead of python3 so I am a kind of stuck.

Update: I added some debug output in /usr/lib/python3.5/_sysconfigdata.py:

print(sys.version)

The output is

3.5.1 (default, Feb 10 2016, 15:13:13) 
[GCC 5.2.1 20151010]

but it should be

3.5.1+ (default, Mar 30 2016, 22:46:26) 
[GCC 5.3.1 20160330]

I have no such python3 installation on my machine! I have searched several times for such an installation.

Edit:

I tried to completely reinstall python3 by running

sudo apt autoremove --purge python3

DO NOT TRY THIS AT HOME!

This will remove nearly all programs on your machine. It took me 6h just to rebuild my base system! I had only one gnome-terminal left, because it was loaded into ram.

But this did not fix my problem.

1 Answers1

1

This is not a solution but a fix
I added

for p in sys.path:
    print(p)

to /usr/lib/python3.5/_sysconfigdata.py. The path /usr/lib/python3.5/plat-x86_64-linux-gnu was substituted with /usr/lib/python3.5/plat-gnu.

Fixing it

I fixed it by adding the following workaround to the file:

plat_path = "/usr/lib/python3.5/plat-x86_64-linux-gnu"
if(not plat_path in sys.path):
    sys.path.append(plat_path)

I still do not know why this happened.