我曾以为我使用的是最新版本的 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:针对 API 版本 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?这是一个合理的方法吗?