1

I tried to install python 3.7 on my debian 9.7 with cinnamon. I followed the best answer in this post and installed it using the debian testing repository. I think this was a bad idea...

It downloaded many packages, and now the cinnamon control center doesn't work anymore. If I try to start it from the command line I get:

$ cinnamon-settings
Traceback (most recent call last):
  File "/usr/bin/cinnamon-settings", line 26, in <module>
    os.execvp("/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py", ("",) + tuple(sys.argv[1:]))
  File "/usr/lib/python3.7/os.py", line 571, in execvp
    _execvpe(file, args)
  File "/usr/lib/python3.7/os.py", line 594, in _execvpe
    exec_func(file, *argrest)
ValueError: execv() arg 2 first element cannot be empty

How do I fix this? I already tried removing python3.7, but I don't know what to do with the other packages?

The relevant part from /var/log/apt/history.log can be found here.

Prvt_Yadav
  • 5,882
Nico F
  • 13

2 Answers2

2

The error is because of Python 3.6 code:

os.execvp("/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py", ("",) + tuple(sys.argv[1:]))

You need to change "" to " ", because it treats "" as empty.

For more info you should visit this link. Here you will find the files which need the above modification (to replace "" with " ").

Prvt_Yadav
  • 5,882
0

If the other packages you installed were only installed for that new install of python, then you could:

  • Reinstall that new python (I know it seems pointless)
  • Then purge not remove that new python installation.
  • Then apt-get autoremove apt-get autoclean apt-get clean
  • Then reinstall the version of python, that was working.

This should get rid of all the new python files and config files and unnecessary dependencies, the reinstall of the older version that worked should reinstall working config files.