安装 Biopython:ImportError:没有名为 Bio 的模块

Mik*_*ike 5 python fedora python-install biopython

尝试在 Fedora 21、Python 2.7 上安装 Biopython。我做了以下

[mike@localhost Downloads](17:32)$ sudo pip2.7 install biopython
You are using pip version 6.1.1, however version 7.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting biopython
/usr/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading biopython-1.65.tar.gz (12.6MB)
    100% |????????????????????????????????| 12.6MB 33kB/s 
Installing collected packages: biopython
  Running setup.py install for biopython
Successfully installed biopython-1.65
Run Code Online (Sandbox Code Playgroud)

进而

[mike@localhost Downloads](17:32)$ ipython
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar  9 2015, 16:20:48) 

In [1]: import Bio
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-a7440e1156be> in <module>()
----> 1 import Bio

ImportError: No module named Bio
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑

我尝试使用安装 biopython

sudo easy_install -f http://biopython.org/DIST/ biopython
Run Code Online (Sandbox Code Playgroud)

并将其安装到 /usr/lib/python2.7/site-packages/biopython-1.65-py2.7-linux-x86_64.egg/。没用。

然后我尝试使用相同的命令安装它,没有 sudo:

easy_install -f http://biopython.org/DIST/ biopython
Run Code Online (Sandbox Code Playgroud)

将它安装到 /home/mike/anaconda/lib/python2.7/site-packages/biopython-1.65-py2.7-linux-x86_64.egg

那奏效了!适用于 ipython 和 python。但为什么它起作用了......?

sho*_*see 1

这不是一个好习惯sudo pip,因为它可能会在 root 权限下安装东西,而 root 权限通常不会授予普通程序。

问题可能出在库路径上。信息最丰富的工具将是

import sys
print (sys.path)
Run Code Online (Sandbox Code Playgroud)

which python
pip --version
Run Code Online (Sandbox Code Playgroud)

并使用pip install biopython --user来替换sudo pip