之前的环境都是下载到系统环境里面的,后面安装了anaconda发现切换不到系统环境里面了,通过查找资料可以发现:
ubuntu的python可分为三大类:
-
ubuntu自带的系统python环境
- 一般安装在/usr/bin/中
- python2和python3可以共存
-
anaconda自带的base环境
-
在anaconda中创建的虚拟python环境
为了能够切换到系统python环境python=3.6,而不是anaconda自带的base环境python=3.11,
解决步骤:
1. 在~/.bashrc 或者~/.bash_profile里添加alias python='$(which python)'
vim .bashrc # 进入~/.bashrc文档
# 进入编辑后,选择 i 键进入编辑模式,在最后一行加入:
alias python='$(which python)'
# 然后按esc键,打字 :wq (冒号和wq都要打,小写)退出编辑并保存
source ~/.bashrc # 使得修改生效
2. 让Anaconda在环境变量中的位置比usr/bin/靠
# /home/nvidia/.local/bin:/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/home/nvidia/ssd/anaconda3/bin:/home/nvidia/ssd/anaconda3/condabin:/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/snap/bin: /home/xxx/anaconda3/bin:/usr/xxx/bin:/usr/xxx/local/bin
后或者直接暂时删掉anaconda的环境变量。
echo $PATH # 此时会打印出若干路径
# 我的输出如下:
# /usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/home/nvidia/.local/bin:/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/home/nvidia/ssd/anaconda3/bin:/home/nvidia/ssd/anaconda3/condabin:/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.:
(base) nvidia@nvidia-desktop:~$ PATH=/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.:
这里需要暂时去除PATH中的anaconda环境,输入不包括anaconda环境路径的命令,即:PATH=/usr/xxx/bin:/usr/xxx/local/bin(就是系统python基础环境里面的路径)
PATH=/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/home/nvidia/.local/bin:/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.:
再次查看PATH,输入:
echo $PATH
此时结果如下:
在此Terminal中PATH暂时去除了Anaconda环境路径,更换了ubuntu自带的系统python环境,运行程序则可以解决冲突。关闭Terminal后并不影响系统的环境变量。