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-get
或 pip
通常是个好主意。如果将它们混合使用,您可能不会有问题,但最好保持一致。
我是 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-get
或 pip
通常是个好主意。如果将它们混合使用,您可能不会有问题,但最好保持一致。