请问下anaconda安装的各种包和pycharm中通过install的各种包,在pycharm运行时用的哪个?

如题,有点搞不懂conda跟pycharm之间各种库(Numpy,Pandas之类)的关系:
通过安装anaconda并在navigator中安装和升级的包,位置在F:\Anaconda3\pkgs
 
而Pycharm中通过settings--Project Interpreter--Install安装升级的包,位置在:
pycharm:F:\Anaconda3\User\PycharmProjects\venv\Lib\site-packages
 
疑问:
1 两者的库是否有复用?还是各自用各自的下载的包?如果用Pycharm写代码调试,用的是哪边的库呢?

问题2,3:(前提:只有一个conda环境,不存在检查到另一个环境的可能)
2 为何在cmd中用‘pip list outdated’查看了需升级的包,用‘pip install --upgrade 包名’后,提示安装成功,但是再查看过期包,仍然包含刚更新过的包?
3 在Anaconda Navigator中environment更新了包,为何在cmd中仍显示未更新?Navigator更新的包是哪里的?

LarryPages - You know nothing.

赞同来自: 彩云曦

这个问题我这两天碰到过,因为我当时安装的是Python3.6,但是Anaconda是基于Python2.7的。现试着回答一下: 1.在Pycharm下优先查找Pycharm下的包,Anaconda同理,要是能复用,应该会产生冲突;   2 3.虽然只有一个conda环境,但是会和你独立下载的Python的环境起冲突。就我的经历而言,虽然我把Python3.6放到了环境变量中,但是实际使用时仍然显示基于2.7的Anaconda版本,推测会优先查找Anaconda的版本(也有可能是两个环境变量的先后顺序造成的),如果再update还会出现在过期包的list里吗?    Anaconda的包应该用conda install 包名来安装,更新、查看过期包同样用conda命令,单独的Python环境用pip命令。    

彩云曦

赞同来自:

非常感谢楼上的回答。我最近使用的体会是这样的:(在只有1个py环境前提下)pycharm如果选择anaconda的system解释器,不是virtualenv等其余3项,用默认环境的python.exe,则会实现pycharm和conda共用包,无论通过pycharm更新/添加包,还是通过cmd pip,都会放在conda--lib--site-package中。通过cmd pip的包,pycharm也能找到。   而如果选择了其余类型的解释器,则pycharm会在对应的位置新建一个文件夹,存放下载的包,这些包跟conda默认的包的位置就不一样了,pycharm也就无法找到通过conda下载的包,两边各自占用空间且不能复用,非常浪费。因此推荐将解释器选为system类型。   另有个小心得:在通过pycharm下载安装包时,千万别选右边那个绿色圆圈‘use conda package manager’,否则下载的包,如tf等,import时会出错

要回复问题请先登录注册