Anaconda 无法导入它的一些默认包

Anaconda can not import some of its default packages

我通过 Mac OSX 64 位图形安装程序 (Anaconda2-4.0.0-MacOSX-x86_64.pkg 下载并安装了 Anaconda ) 到我的用户 space 中的自定义目录。安装程序将默认环境设置添加到我的 .bash_profile 脚本中:

# added by Anaconda2 4.0.0 installer
export PATH="/Users/kocevski/bin/anaconda/bin:$PATH"

安装完成后,我用conda检查了可用包列表...

Tachyon> conda list
# packages in environment at /Users/kocevski/bin/anaconda:
#
alabaster                 0.7.7                    py27_0  
anaconda                  4.0.0               np110py27_0  
anaconda-client           1.4.0                    py27_0  
anaconda-navigator        1.1.0                    py27_0  
appnope                   0.1.0                    py27_0  
appscript                 1.0.1                    py27_0  
argcomplete               1.0.0                    py27_1  
astropy                   1.1.2               np110py27_0  
babel                     2.2.0                    py27_0  
backports-abc             0.4                       <pip>
backports.ssl-match-hostname 3.4.0.2                   <pip>
backports_abc             0.4                      py27_0  
beautifulsoup4            4.4.1                    py27_0
...  

你懂的。现在,如果我启动 ipython,其中一些包可以访问,而另一些则不能。例如:

Tachyon> which ipython
/Users/kocevski/bin/anaconda/bin/ipython

Tachyon> ipython
Python 2.7.11 |Anaconda 4.0.0 (x86_64)| (default, Dec  6 2015, 18:57:58) 
Type "copyright", "credits" or "license" for more information.

IPython 4.1.2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import babel

In [2]: import beautifulsoup4
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-7e3d2e2a3c50> in <module>()
----> 1 import beautifulsoup4

ImportError: No module named beautifulsoup4

有谁知道为什么有些默认包可以访问,而有些则不能?看起来这是基本的,应该开箱即用。

-丹

如果你想使用 BeautifulSoup 你应该像这样导入它:

from bs4 import BeautifulSoup

根据文档 here

一般来说,如果您不确定模块名称,您可以检查您的 conda python 安装的站点包。对于您的安装,它应该是 /Users/kocevski/lib/python2.7/site-packages/。这些是您可以对其执行 import 的 modules/packages。 conda 包名称(您在 conda list 时看到的名称)不一定是您在导入时要使用的 python 模块名称。