我曾经在我的Ubuntu中使用anaconda3
下安装的python。但出于某种原因,我还需要创建一个pyenv
并为所有用户进行推广。为了运行python脚本,我了解到与anaconda3
不同,我必须使用所有需要的python包构建pyenv
,因为我收到的错误是模块没有定义。因此,在安装pyenv
之后,我在pip install <package_name>
shell中使用(general) pyenv
安装了所需的模块。现在我可以运行脚本了。有没有办法在anaconda3
系统python和pyenv
python之间来回切换?
(仅从提示(常规)用户名@ username-Rev-1-0:〜$,我知道我现在在pyenv
。)
以下是.bashrc
文件的相关部分:
# added by Anaconda3 4.3.0 installer
export PATH="/home/username/anaconda3/bin:$PATH"
# Load pyenv automatically by adding
# the following to ~/.bash_profile:
export PATH="/home/username/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
答案 0 :(得分:1)
尝试将此添加到您的.bashrc。
export ANACONDA_HOME="/home/username/anaconda3"
alias my_anaconda="unset PYENV_HOME && export PATH=$ANACONDA_HOME/bin:$PATH"
# Load pyenv automatically by adding
# the following to ~/.bash_profile:
export PYENV_HOME="/home/username/.pyenv/"
alias my_pyenv='unset ANACONDA_HOME && export PATH=$PYENV_HOME/bin:$PATH && eval "$(pyenv init -)" && eval "$(pyenv virtualenv-init -)"'
在shell上,请尝试:
$ my_anaconda
$ my_pyenv
答案 1 :(得分:0)
灵感来自答案,谢谢。我在 MacO 上使用了类似的方法:
# in my ~/.bash_profile
# Anaconda app is installed and initiated at the terminal start
# path to Anaconda: /Users/<USER>/opt/anaconda3/
switch_pyenv(){
conda deactivate
conda deactivate # in case you're not in base env
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
}
switch_conda(){
conda activate base
export PATH="/Users/<USER>/opt/anaconda3/bin:$PATH"
}
# quick check which python, pip
w(){
which python
which pip
py -V
}
当我切换到某个环境时,我会使用简写 w
来检查“我在哪里”。