从头说起吧。
anaconda3是个软件包。anaconda3这个文件夹就是一个base环境。
这个环境下,有bin文件夹,下有activate,conda,pip,ipython可执行文件。
有lib文件夹,下有base环境的anaconda/python版本。
有pkgs文件夹,下有你下载anaconda时,默认的库,包括numpy,pandas,tensorflow等等,但是这些包还没有配置到你的base环境中。只有你install了它们,它们才会在你的base环境中可执行。那install以后会出现到哪里呢?会出现在anaconda3/python3.8/sitepackages里面。所以,只有这个路径下有的包,才是你当前python可用的包!
请让你的环境中的python版本和你想install在该环境中的包的版本兼容。
那么新建虚拟环境呢?
anaconda3文件夹下还有envs文件,通过conda create -n tf python=3.8来建立新环境,此时tf文件夹会出现在envs下方。
tf也是一个环境,它也有bin和lib文件夹。bin下面有可执行的pip,lib下面有该tf环境的python版本。
再次重复,请让你的环境中的python版本和你想install在该环境中的包的版本兼容。
那么到底如何install?为什么你想到了使版本匹配,想到分不同的环境处理,但是总是做不到?
因为你没有查询conda/pip命令的位置!注意,只要在命令行输入的,都是命令,都是可执行文件,它是有路径的,所以,1.它有版本。2.它会安装在它所对应的文件夹位置上。
去看一下对应文件夹,pip命令使用前请你which pip查询一下,这个pip到底是哪个bin文件夹下的,同理,在哪个bin下,就在哪个环境下真正被安装。而conda只在base下有,所以如果你不加后缀,conda install只会下载到base环境的include文件下python下的sitepackages里。
最后,conda只是包管理用的,推荐在具体环境下操作时,使用pip,且使用pip命令的全路径,这样肯定不会出错。
进入到特定环境下,请你把该环境对应的文件夹打开,你的每一次操作都会导致实体的变化,只要观察实体增减,你就能知道到底发生了什么。
如果你还处于什么都不知道的阶段,问题不知道如何排查,可经常使用which,--version等等命令来进行逻辑推理。
不知道为什么,到处都看不到从文件夹结构讲解软件的回答,我在探索路上也是走了很久,才确认了“观察文件实体增量减量来理解并掌控软件及命令使用”的方法。
自己写了这篇文章说实话就是为新手们写的,也是一份对新手们的爱护之心,不希望你们走太长太辛苦的道路,因为我知道,一个人摸着黑过河在生理和心理上到底有很难,所以,
请点赞再走,请不要剽窃