-
-
Save jph00/3707260aeba1a9c03e469f5ecf524b34 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash | |
### | |
# NB: You probably don't want this gist any more. | |
# Instead, use this version from `fastsetup`: | |
# https://github.com/fastai/fastsetup/blob/master/setup-conda.sh | |
### | |
set -e | |
cd | |
case "$OSTYPE" in | |
darwin*) DOWNLOAD=https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh; RC_FILE=.bash_profile ;; | |
linux*) DOWNLOAD=https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh; RC_FILE=.bashrc ;; | |
*) echo "unknown: $OSTYPE" ;; | |
esac | |
case "$SHELL" in | |
/bin/zsh*) SHELL_NAME=zsh; RC_FILE=.zshrc ;; | |
/bin/bash*) SHELL_NAME=bash ;; | |
/usr/local/bin/fish*) SHELL_NAME=fish ;; | |
*) echo "unknown: $SHELL" ;; | |
esac | |
cat << EOF > .condarc | |
channels: | |
- fastai | |
- pytorch | |
- defaults | |
channel_priority: strict | |
EOF | |
wget $DOWNLOAD | |
bash Miniconda3-latest*.sh -b | |
~/miniconda3/bin/conda init $SHELL_NAME | |
rm Miniconda3-latest*.sh | |
perl -n -e 'print if />>> conda/../<<< conda/' $RCFILE > .condainit | |
perl -ni -e 'print unless />>> conda/../<<< conda/' $RCFILE | |
echo source ~/.condainit >> $RCFILE | |
source ~/.condainit |
I'm using fish shell (on mac) which is unfortunately not compatible with bash syntax, so instead of sourcing it, you need to start the setup with: bash setup_conda.sh
. Then you will want to add the following line to the $SHELL case switch: /usr/local/bin/fish*) SHELL_NAME=fish ;;
(for me fish is at /usr/local/bin/fish
, check your location by running echo $SHELL
). This ensures that later the conda init line will be invoked with fish as last param.
The .bashrc lines are not doing any harm on a fish system (don't have a .bashrc so .condainit will be empty and sourcing it will do nothing)
Finally I had to change the last line to conda install mamba -c conda-forge
(as specified in mamba's installation guide), should not be a fish specific thing though as far as i can tell? Without specyfing conda-forge as a channel that installation failed on my machine.
And when you say "to install fastai with mamba…run" you are I think forgetting to tell users to alias conda to mamba (i know you did on twitter, but people might not have seen that coming here).
Thanks for sharing Jeremy! I had an error "setup_conda.sh: line 34: source: .condainit: file not found." My OS is Centos 7. I was able to fix the issue by switching the command to "source ~/.condainit"
Just a quick note for anyone using Ubuntu in WSL2, don't delete your ~/anaconda3 folder if you want to start fresh. Everything is broken now :(.
It seems like a great idea for managing environments. But the script seems not to be working anymore. After the miniconda install (seemingly after running the condainit script it creates), it stops, saying:
==> For changes to take effect, close and re-open your current shell. <==
Also, if I then try to run conda install -y mamba
it appears not to find it in the provided channels (the current documentation recommends conda-forge?)
Leaving this here just in case: I finally added the channel manually: conda config --append channels conda-forge
, after which I was able to run
conda install -y mamba
mamba
is no longer needed -- I've now updated the gist to reflect that. I've also added a link to a somewhat more official version that's in fastsetup
.
NB: You probably don't want this gist any more. Instead, use this version from
fastsetup
:To install fastai, once you've run this, run:
NB: If you've installed Anaconda or miniconda before, and you want to start with a fresh install, remove (or rename) your existing
~/anaconda3
or~/miniconda3
directory before you run this script.