Subject: bug#59772: conda 22.9.0 breaks "conda init bash"

From: Hugo Buddelmeijer <[email-masked]>
Date: Fri, 2 Dec 2022 12:48:53 +0100

Hi all,

Conda 22.9.0 breaks "conda init bash". Conda requires some functions to be
present in ~/.bashrc (or equivalent dot file for other shells) in order to
function as intended [*]. These functions are added there through "conda
init bash", which each conda user should run once.

$ guix shell -C conda sudo

[env]$ conda --version
conda 22.9.0

[env]$ conda init bash
[..]
      File
"/gnu/store/lvip6h5pamjwmvnkwg60sjb63ph8698k-python-3.9.9/lib/python3.9/subprocess.py",
line 19
59, in _communicate
        input_view = memoryview(self._input)
    TypeError: memoryview: a bytes-like object is required, not 'str'
[...]

However, it seems that this is a conda problem (not sure), and not a guix
problem. E.g. see
   https://github.com/conda/conda/issues/11885
   "conda 22.9.0 breaks bash command prompt"
The suggested solution there is to do "sudo $(which conda) init bash",
which is not really acceptable for us.

Also, "conda init bash" does seem to actually do what it is supposed to do:
add conda functions to ~/.bashrc; the error occurs after that. So maybe we
can just wait this out, or try to see whether it works with conda 22.11.0.

Greetings,
Hugo

[*] There are also some problems in the interplay between guix and the
conda functions in .bashrc. I'll report those later.