use*_*223 4 python virtualenv anaconda ubuntu-14.04
我一直在使用virtualenv,然后我也安装了anaconda.刚才我尝试使用anaconda的方式激活虚拟环境source activate helloworld.(事实上,我不记得这是否是我输入的命令).然后环境被激活了.但是当我试图运行笔记本时,据说即使我已经在那个环境中安装了一些库,也不存在.直到那时我才意识到我已经激活了错误的环境.然后我关闭该选项卡,cd以hellowworld和做source bin/activate.但为时已晚了.我得到了这个作为输出,prepending /home/lcc/anaconda3/envs/bin to PATH
并且预期没有激活环境.你知道如何解决这个问题吗?谢谢!
以下是该activate文件的完整内容/hello/world:
#!/bin/bash
# Determine the directory containing this script
if [[ -n $BASH_VERSION ]]; then
_SCRIPT_LOCATION=${BASH_SOURCE[0]}
SHELL="bash"
elif [[ -n $ZSH_VERSION ]]; then
_SCRIPT_LOCATION=${funcstack[1]}
SHELL="zsh"
else
echo "Only bash and zsh are supported"
return 1
fi
_CONDA_DIR=$(dirname "$_SCRIPT_LOCATION")
if [ $# -gt 1 ]; then
(>&2 echo "Error: did not expect more than one argument.")
(>&2 echo " (Got $@)")
return 1
fi
case "$(uname -s)" in
CYGWIN*|MINGW32*|MSYS*)
EXT=".exe"
;;
*)
EXT=""
;;
esac
# Export whatever PS setting we have, so it is available to Python subprocesses
export PS1
# Ensure that this script is sourced, not executed
# Also note that errors are ignored as `activate foo` doesn't generate a bad
# value for $0 which would cause errors.
if [[ -n $BASH_VERSION ]] && [[ "$(basename "$0" 2> /dev/null)" == "activate" ]]; then
(>&2 echo "Error: activate must be sourced. Run 'source activate envname'
instead of 'activate envname'.
")
"$_CONDA_DIR/conda" ..activate $SHELL$EXT -h
exit 1
fi
"$_CONDA_DIR/conda" ..checkenv $SHELL$EXT "$@"
if (( $? != 0 )); then
return 1
fi
# Ensure we deactivate any scripts from the old env
# Note: this empties $@. Preserve a copy.
args=$@
source "$_CONDA_DIR/deactivate"
_NEW_PATH=$("$_CONDA_DIR/conda" ..activate $SHELL$EXT "$args")
if (( $? == 0 )); then
export CONDA_PATH_BACKUP="$PATH"
# export this to restore it upon deactivation
export CONDA_OLD_PS1=$PS1
export PATH="$_NEW_PATH"
# Get first path (should be full path prefix of our env)
# inner string extraction pulls off first path
# outer string removes /bin if present (on Unix)
firstpath=${PATH%%:*}
export CONDA_DEFAULT_ENV="$(echo ${firstpath} | sed "s|/bin$||")" &>/dev/null
# Legacy support: CONDA_DEFAULT_ENV used to be either env name or full path if given as path.
# CONDA_DEFAULT_ENV is now always full path.
# Keep CONDA_ENV_PATH around, and have it mirror CONDA_DEFAULT_ENV.
# Last date of change: 2016-04-18
export CONDA_ENV_PATH=$CONDA_DEFAULT_ENV
export PS1="$( "$_CONDA_DIR/conda" ..setps1 $SHELL$EXT "$args" )"
# Load any of the scripts found $PREFIX/etc/conda/activate.d AFTER activation
_CONDA_D="${CONDA_DEFAULT_ENV}/etc/conda/activate.d"
if [[ -d "$_CONDA_D" ]]; then
IFS=$(echo -en "\n\b")&>/dev/null && for f in $(find "$_CONDA_D" -iname "*.sh"); do source "$f"; done
fi
else
return $?
fi
if [[ -n $BASH_VERSION ]]; then
hash -r
elif [[ -n $ZSH_VERSION ]]; then
rehash
else
echo "Only bash and zsh are supported"
return 1
fi
Run Code Online (Sandbox Code Playgroud)
从你的问题中不清楚你期望"激活"做什么.它是激活virtualenv,还是激活conda环境.
当您安装miniconda或anaconda时,您可以选择将其添加到PATH.如果你这样做,那么它可能总是在你的virtualenv激活脚本之前.您可以重命名其中一个,或者为virtualenv创建一个别名,使用激活脚本的绝对路径来调用它.您也可以移动Anaconda以使其附加而不是前置,但随后将使用virtualenv activate而不是conda one(禁止绝对路径).
要附加conda的路径,请查看〜/ .bashrc或〜/ .bash_profile并进行更改
export PATH=<anaconda path>:$PATH
Run Code Online (Sandbox Code Playgroud)
至
export PATH=$PATH:<anaconda path>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2610 次 |
| 最近记录: |