安装Anaconda Python时发生冲突

时间:2015-10-11 22:36:06

标签: python pip anaconda conda

我最近安装了Anaconda的Python发行版。然后我将以下行插入我的.bashrc文件中:

export PATH=/home/karnivaurus/Libraries/Anaconda/bin:$PATH

因此,现在有两个python二进制文件:一个在/usr/bin/,一个在/home/karnivaurus/Libraries/Anaconda/bin

我还有一个python脚本,它尝试使用行caffe导入名为import caffe的模块。现在,如果我从终端运行python caffe,脚本运行正常。但是,如果我在PyCharm中打开脚本,并将解释器设置为/home/karnivaurus/Libraries/Anaconda/bin/python,则会出现以下错误:

ImportError: No module named caffe

基于这一切,我有两个问题......

  1. 如果我从终端运行python命令,它会执行哪个二进制文件? /usr/bin中的那个,或/home/karnivaurus/Libraries/Anaconda/bin中的那个?我的直觉是它运行第一个,因为与PyCharm的行为不一致。在这种情况下,我如何强制我的系统使用Anaconda版本?

  2. 如果我安装了一个新软件包,例如pip install caffe,那么它将安装在哪里?它会安装到/usr/local/lib/python2.7/site-packages还是安装到/home/karnivaurus/Libraries/Anaconda/pkgs?我怎样才能确定我的python命令会知道在哪里找到新包裹?

  3. 谢谢!

1 个答案:

答案 0 :(得分:2)

回答1

根据你的例子:export PATH=/home/karnivaurus/Libraries/Anaconda/bin:$PATH /home/karnivaurus/Libraries/Anaconda/bin首先出现,所以那里的python应该是要执行的那个。

但明确的答案取决于跑步的结果:which python

回答2

在Anaconda中,使用conda代替pip来安装软件包。使用pip install caffe进行安装时,您将安装到/usr/local/lib/python2.7/site-packages

使用conda install caffe安装到/home/karnivaurus/Libraries/Anaconda/pkgs

以上两个答案解释了为什么即使你pip install spam打包,python会说ImportError: No module named spam。基本上你安装到普通的Python,但你尝试导入Anaconda的python。