2 个回答

不同就对了。

首先,sh就是根据PATH这个环境变量设置的路径,按顺序去这些路径下去找可执行文件。

比如现在,我的电脑PATH是这样的:
PATH=/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

假如 python 这个文件放在/sbin下,然后我在终端里执行python,就可以正常执行,因为python在在PATH的目录里。
假如 python 这个文件不在PATH里面的任何目录,这个时候我去执行python,就会提示 command not found: python
假如 python 这个文件同时存在 /bin 和 /usr/bin 目录下,这个时候执行python,这个时候就会执行/bin/python这个目录下的文件,因为/bin这个目录,在PATH里面是排在前面的,sh在/bin目录下找到python之后,就不会再去后面的目录去找这个文件了。


现在这个问题,conda是怎么做到切换和激活虚拟环境的,其实就是修改了终端的PATH环境变量,在PATH前面增加了一个conda的目录,这个目录里面会包含一些python/pip.不同的目录对应不同版本的python。所以conda切换环境的时候,PATH前面的目录指向不同的文件夹。

不同conda环境

PATH 是环境很重要得一部分。不同得环境当然可以有不同的 PATH ,不同的 PATH 里才可以放不同的 python

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题