Skip to content

Instantly share code, notes, and snippets.

@bluesmilery
Last active May 23, 2021 05:36
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bluesmilery/b1b4a840fcfabcda8ae26144988480d2 to your computer and use it in GitHub Desktop.
Save bluesmilery/b1b4a840fcfabcda8ae26144988480d2 to your computer and use it in GitHub Desktop.
[create_virtual_env] Used to create a Anaconda virtual environment for CUDA and TensorFlow. If you want to use this shell script, please read the blog. https://bluesmilery.github.io/blogs/a687003b/
#!/bin/bash
# Used to create a Anaconda virtual environment for CUDA and TensorFlow.
# If you want to use this shell script, please read the blog.
# https://bluesmilery.github.io/blogs/a687003b/
echo ""
echo "This script is used to create a Anaconda virtual environment for CUDA and TensorFlow."
echo ""
read -p "Enter the name of Anaconda virtual environment: " ENV_NAME
if [ -z ${ENV_NAME} ]; then
echo ""
echo "Need a virtual environment name!" >&2
exit 1
fi
echo ""
read -p "Enter the version of Python (default is 3.6.5): " PYTHON_VERSION
if [ -z ${PYTHON_VERSION} ]; then
PYTHON_VERSION="3.6.5"
fi
echo ""
read -p "Enter the version of CUDA (8.0/9.0, default is 9.0): " CUDA_VERSION
if [ -z ${CUDA_VERSION} ]; then
CUDA_VERSION="9.0"
elif [ ${CUDA_VERSION} != "8.0" ] && [ ${CUDA_VERSION} != "9.0" ]; then
echo ""
echo "CUDA version must be 8.0 or 9.0!" >&2
exit 1
fi
echo ""
echo "Start to create the environment......"
echo ""
cmd_create="conda create -n ${ENV_NAME} python=${PYTHON_VERSION}"
eval ${cmd_create}
ACTIVATE_PATH=$HOME/.conda/envs/${ENV_NAME}/etc/conda/activate.d
DEACTIVATE_PATH=$HOME/.conda/envs/${ENV_NAME}/etc/conda/deactivate.d
activate_string="
ORIGINAL_CUDA_HOME=\$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=\$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-$CUDA_VERSION
export LD_LIBRARY_PATH=\$CUDA_HOME/lib64:\$LD_LIBRARY_PATH"
deactivate_string='
export CUDA_HOME=$ORIGINAL_CUDA_HOME
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
unset ORIGINAL_CUDA_HOME
unset ORIGINAL_LD_LIBRARY_PATH'
mkdir -p ${ACTIVATE_PATH}
echo "${activate_string}" > ${ACTIVATE_PATH}/activate.sh
chmod +x ${ACTIVATE_PATH}/activate.sh
mkdir -p ${DEACTIVATE_PATH}
echo "${deactivate_string}" > ${DEACTIVATE_PATH}/deactivate.sh
chmod +x ${DEACTIVATE_PATH}/deactivate.sh
echo "Everything is DONE!"
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment