我怎样才能升级 NumPy?

当我使用 自酿的(brew)安装 OpenCV 时,每当我运行这个命令来测试 python -c "import cv2"时都会遇到这个问题:

RuntimeError: module compiled against API version 9 but this version of numpy is 6
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import

我试过升级 NumPy,但这让我很困惑:

>>> import numpy
>>> print numpy.__version__
1.6.1

当我运行 brew 来升级 NumPy 时,我遇到了这个问题:

brew install -u numpy
Warning: numpy-1.9.1 already installed

当我卸载它的时候:

sudo pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in ./anaconda/lib/python2.7/site-packages

我已经跟随 这个问题并且从我的 Mac 中删除了 水蟒

pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /Library/Python/2.7/site-packages

但是一切都没有改变,我怎样才能将 NumPy 版本链接到 OpenCV 呢?

346698 次浏览

因为我们在系统中安装了两个 NumPy。一个是由 Homebrew 安装的,另一个是由 pip 安装的。因此,为了解决这个问题,我们需要删除一个并使用 OpenCV 默认的 NumPy 安装。

检查路径,

import numpy
print numpy.__path__

然后用 rm手动删除。

我试着用 sudo pip uninstall numpy代替,因为 rm一开始不起作用。

希望能帮上忙。

卸载然后再次安装。

您提到的错误发生在系统上有两个版本的 NumPy 时。正如您提到的,您导入的 NumPy 版本仍然没有升级,因为您试图通过 pip 升级它(它将升级 '/Library/Python/2.7/site-packages'中现有的版本)。

但是 Python 仍然从预安装包所在的 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy'加载包。

为了升级该版本,您必须使用 easy_install。解决这个问题的另一种方法是使用 virtualenv并设置一个包含所有需求的新环境。

仅供参考,当您使用或导入 TensorFlow 时,可能会发生类似的错误,如(由 NumPy 引起的) :

RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 60, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: numpy.core.multiarray failed to import




Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.

我按照埃尔迈拉和德鲁的解决方案,sudo easy_install numpy,和它的 成功了

sudo easy_install numpy
Searching for numpy
Best match: numpy 1.11.3
Removing numpy 1.8.2 from easy-install.pth file
Adding numpy 1.11.3 to easy-install.pth file


Using /usr/local/lib/python2.7/dist-packages
Processing dependencies for numpy
Finished processing dependencies for numpy

之后,我可以使用 TensorFlow,没有错误。

因为您已经安装了 NumPy 的多个版本。

多次尝试 pip uninstall numpypip list | grep numpy,直到看不到来自 pip list | grep numpy的输出。

然后 pip install numpy会给你最新版本的 NumPy。

在安装 pytch 之后,我在使用:

import torch

移除 NumPy 也没有帮助(我实际上重命名了 NumPy,所以在它不工作之后我又恢复了原来的名称)。以下命令对我有效:

sudo pip install numpy --upgrade
sudo easy_install numpy

都一样。

   sudo easy_install numpy

我的追踪器

Searching for numpy


Best match: numpy 1.13.0


Adding numpy 1.13.0 to easy-install.pth file


Using /Library/Python/2.7/site-packages


Processing dependencies for numpy

这对我有用:

pip install numpy --upgrade

如果您没有遇到任何权限错误

pip install -U numpy

尝试:

pip install --user -U numpy

如果您被困在一台没有 root 访问权限的机器上,那么最好使用自定义 Python 安装。

水蟒的装置非常有效:

安装后,

[ bash ] $/xxx/devTools/python/anaconda/bin/pip list —— format = column | Grep Numpy

Numpy 1.13.3 numpydoc 0.7.0

如果您已经有了 NumPy 的旧版本,请使用以下命令:

pip install numpy --upgrade

如果还是不起作用,试试:

pip install numpy --upgrade --ignore-installed

更新麻木

巨蟒2

pip install numpy --upgrade

对于 numpy 的更新版本,您还需要升级表,因此,

pip install tables --upgrade

巨蟒3

pip3 install numpy --upgrade

类似地,python3的表:-

pip3 install tables --upgrade

注:

您需要检查正在使用的 python 版本: . pip 用于 python 2.7 + ,pip3用于 python 3 +

Pip install numpy ——升级

您可以尝试使用以上命令,并使用作为管理员,如果打开 CMD。

如果您正在使用多个版本的 Python(例如 3.83.9) ,那么明确指定要安装和更新 numpy的版本:

python3.8 -m pip install numpy --upgrade
# or
python3.9 -m pip install numpy --upgrade

然后使用适当版本的 Python 运行程序。