Python 2.7 和 3.4:无法跨版本访问库

Python 2.7 and 3.4: Libraries inaccessible across versions

我是 Python 的新手。我是 运行 Ubuntu 14.04,我同时拥有 Python 2.7 和 3.4。

我想使用较新的 3.x 版本,以及 NumPy、SciPy 和 NLTK 库。我在 ~/.bash_aliases 文件中将 Python REPL 路径设置为 Python 3.x,如下所示:

alias python=python3

之后我安装了几个库,包括python-numpy、python-scipy和python-matplotlib。

$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

不幸的是,我遇到了一些问题,因为我猜测这些库是为 Python 的旧 2.7 版本安装的;我无法使用 3.4 REPL 访问库。

import numpy

ImportError: No module named 'numpy'

但是,我可以使用旧版本访问库:

$ /usr/bin/python2.7

我如何得到这个作品?

当您使用 apt-get 安装 Python 个包时,您依赖于分发包管理器。 Ubuntu 约定是在 Python 2 个包前面加上 python-,Python 3 个包前面加上 python3-.

这种区别是必要的,因为 Python 3 引入了一些与 Python 2 不兼容的更改。因此不可能简单地为 Python 3 重新编译(大多数)包,这意味着两者都需要即将推出。

或者,您可以使用 Python 包管理器,pip(或 pip3)。这样做的问题是某些软件包(如 scipy)需要某些您可能没有安装的编译器工具链。

对于特定机器坚持 apt-getpip 通常是个好主意。如果将它们混合使用,您可能不会有问题,但最好保持一致。