tartansandal/conda-bash-completion

Conda 4.8.3 not compatible?

cipri-tom opened this issue · 2 comments

Hi,

Thank you for maintaining this ! It's such a shame the original repo has abandoned bash. But we are lucky to have you!

I have just installed it using conda install -c conda-forge conda-bash-completion then restarted the shell. However, the completion is not working. I can see I have bash-completion 2.10, conda-bash-completion 1.5 and argcomplete 1.9.5 (probably from an older install of something?).

Any ideas how I can debug it? I have tried manually sourcing ~/miniconda3/etc/profile.d/bash_completion.sh, but nothing. If I type conda <tab> I am offered files in the current directory.

Thank you!

Hi @cipri-tom 😄

Thank you for maintaining this !

Cheers. 🍷

It's such a shame the original repo has abandoned bash.

I think it was more that the old implementation broke in unfixable ways an no one had time to start a new one. The conda team have been very supportive of this development. 🥇

I have just installed it using conda install -c conda-forge conda-bash-completion then restarted the shell. However, the completion is not working. I can see I have bash-completion 2.10, conda-bash-completion 1.5 and argcomplete 1.9.5 (probably from an older install of something?).

This implementation does not use argcomplete, but the other two libraries are what we need.

Any ideas how I can debug it? I have tried manually sourcing ~/miniconda3/etc/profile.d/bash_completion.sh, but nothing. If I type conda <tab> I am offered files in the current directory.

Before we dig into that, can I get you to check your bash version with bash --version?

Oh man, such a wholesome and reactive reply ! Thanks for the explanations. And I'm really happy to hear that the upstream team is supportive of this !

I'm using GNU bash, version 5.0.16(1)-release, on macOS.

Upon verifying this again, I have realised I was running bash from within my default zsh shell on macOS. This causes bash to not be in login mode. As a consequence, conda is not initialized, because .bash_profile is not read, only .bashrc. However, the conda binary was still in my path and I could run some commands without any warnings, notably conda env list which was showing I was correctly in the (base) env.

Long story short, false alarm, it (almost) works correctly when conda is initalized (and doesn't work when conda is not initialised, duh).


Yet, I see that env is not offered for completion. Is it because conda -h finishes with:

conda commands available from other packages:
  env

Should we open another issue for this?