--- Begin Message ---
Subject: |
Conda (on guix) does not activate environments |
Date: |
Fri, 28 Jul 2017 08:49:26 +0300 |
I have come across a bug on conda, installed via guix, that does not
seem to be present when conda is installed via the process at
https://conda.io/docs/install/quick.html#linux-miniconda-install
The issue
---------
Conda (on guix) does not activate environments
Command ran
-----------
source activate test-env
Expected result
---------------
The envinment should be activated, and the prompt changes from
`frederick@localhost:/tmp$` to `(test-guix-conda)
frederick@localhost:/tmp$`
Actual result
-------------
The terminal window is exited.
Additional information
----------------------
This behaviour is not present on conda installed via the process
presented in the conda documentation.
The environment(s) created by conda on guix are available on, and can
be activated by conda installed via the process in the conda
documentation.
I ran `bash -c "source activate test-env"` and the following error
message was displayed:
/gnu/store/f2dr9xbimg93pljm7xgmqb4cm5bxy98r-conda-4.3.16/bin/.deactivate-real:
line 59: return: can only `return' from a function or sourced script
/gnu/store/f2dr9xbimg93pljm7xgmqb4cm5bxy98r-conda-4.3.16/bin/.deactivate-real:
line 94: return: can only `return' from a function or sourced script
I would appreciate any help that would help in resolving this issue.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#27858: Conda (on guix) does not activate environments |
Date: |
Mon, 01 Feb 2021 14:37:13 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hello,
Frederick Muriithi <fredmanglis@gmail.com> writes:
> 1) Install conda into a profile:
>
> guix package --install=conda --profile=$HOME/guix_profiles/conda
>
> 2) Activate the profile:
>
> source $HOME/guix_profiles/conda/etc/profile
>
> 3) Create an environment with conda and install biopython
>
> conda create --name test-env biopython
>
> 4) Try to activate the environment (here's where it fails)
>
> source activate test-env
I had never used conda before, so I was a bit surprised that it sneeked
that into my ~/.bashrc:
diff --git a/bash/.bashrc b/bash/.bashrc
index d0635bc..169b2c8 100644
--- a/bash/.bashrc
+++ b/bash/.bashrc
@@ -119,3 +119,19 @@ function up()
cd "$dir"
echo "info: now in $PWD [Git repo]"
}
+
+# >>> conda initialize >>>
+# !! Contents within this block are managed by 'conda init' !!
+__conda_setup="$('/gnu/store/pjkxdaryj97yffhjxql2q4wpzs70hpa3-conda-4.8.3/bin/conda'
'shell.bash' 'hook' 2> /dev/null)"
+if [ $? -eq 0 ]; then
+ eval "$__conda_setup"
+else
+ if [ -f
"/gnu/store/pjkxdaryj97yffhjxql2q4wpzs70hpa3-conda-4.8.3/etc/profile.d/conda.sh"
]; then
+ .
"/gnu/store/pjkxdaryj97yffhjxql2q4wpzs70hpa3-conda-4.8.3/etc/profile.d/conda.sh"
+ else
+ export
PATH="/gnu/store/pjkxdaryj97yffhjxql2q4wpzs70hpa3-conda-4.8.3/bin:$PATH"
+ fi
+fi
+unset __conda_setup
+# <<< conda initialize <<<
+
and required the presence of the 'sudo' command to be happy.
With that said,
$ guix environment --pure --ad-hoc conda bash coreutils sudo
(base) $ conda create --name test-env biopython
Then the suggested:
(base) $ conda activate test-env
(test-env) $
So, it seems to work.
Closing.
Maxim
--- End Message ---