forked from bullwinkle3000/dactyl-keyboard
-
Notifications
You must be signed in to change notification settings - Fork 3
/
conda.sh
executable file
·76 lines (51 loc) · 1.69 KB
/
conda.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
# exit on any errors
set -e
function inform() { echo -e "\n[INFO] $@\n"; }
function warn() { echo -e "\n[WARN] $@\n"; }
function error() { echo -e "\n[ERROR] $@\n"; }
# exit unless user responds with yes
function confirmContinue() {
while true; do
read -p "$@ [y/n]" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit 0;;
* ) error "Please answer yes or no.";;
esac
done
}
if ! which conda &> /dev/null; then
error "Conda not found.\n\nVisit https://docs.anaconda.com/anaconda/install/index.html for more info."
exit 1
fi
# Enable "conda activate" and "conda deactivate"
eval "$(conda shell.bash hook)"
envName=dactyl-keyboard
if [ "$1" = "--uninstall" ]; then
confirmContinue "Would you like to remove the conda environment $envName?"
conda deactivate
conda env remove -n $envName
inform "Conda environment removed!\n\n\tRun \"conda deactivate\" to ensure the environment has been properly deactivated."
exit
fi
if conda info --envs | grep $envName &> /dev/null; then
warn "Conda env \"$envName\" already exists."
confirmContinue "Do you want to overwrite it?"
fi
inform "Creating conda environment: $envName..."
conda create --name=$envName python=3.8 -y
conda activate $envName
inform "Installing CadQuery..."
conda install -c conda-forge -c cadquery cadquery=master -y
inform "Installing dataclasses-json..."
pip install dataclasses-json
inform "Installing numpy..."
pip install numpy
inform "Installing scipy..."
pip install scipy
inform "Installing solidpython..."
pip install solidpython
inform "Updating conda dependencies..."
conda update --all -y
inform "Success!\n\n\tRun \"conda activate $envName\" to activate the environment."