安装Anaconda Python时出现的冲突问题

3

我最近安装了Python的Anaconda发行版。然后,我将以下行插入到我的.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命令知道在哪里查找新包?
谢谢!
1个回答

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中导入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接