【发布时间】:2016-03-22 00:41:22
【问题描述】:
我以为我使用的是最新版本的 numpy (1.10) 至少,当我运行 pip list 时,我看到了 numpy (1.10.4)。但是,当我进入 python 解释器并输入
import numpy
numpy.__version__
我明白了
'1.8.2'
我希望在 1.10 版本之后的某个时间安装 1.8.2,因为我最近安装了一些新包,现在当我运行一些以前可以工作的代码时,我收到了这个错误:
RuntimeError: module compiled against API version a but this version of numpy is 9
在OpenCV 2.4.8: module compiled against API version 9 中,接受的答案提到 numpy 团队将版本 1.8 称为 numpy 版本 9。所以,我认为我最初使用的是 numpy_1.10,并且不知何故安装了 numpy_1.8。
我的第一个问题是这是怎么发生的,我该如何防范?
我还想知道如何阻止 numpy_1.8 阻止 1.10。我最初的想法是使用 apt-get 删除 numpy_1.8,但这会删除许多其他依赖于 1.8 的软件包。
我很想只使用 rm 来摆脱 1.8 版本,但我担心那些其他软件包会受到影响。
我的第二个想法是更改 sys.path 以确保在 1.8 版本之前看到 1.10 版本。到目前为止,我没有使用 PYTHONPATH。有没有办法在不使用 PYTHONPATH 的情况下更改 sys.path?这是一个合理的方法吗?
【问题讨论】:
-
好的 - 我想使用 virtualenv,或者 Docker 会帮助我,但我仍然需要弄清楚现在该做什么。
标签: python numpy pythonpath sys.path