【问题标题】:RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9RuntimeError:针对 API 版本 0xa 编译的模块,但这个版本的 numpy 是 0x9
【发布时间】:2016-09-27 15:46:18
【问题描述】:

我正在阅读有关 New Coder (this one) 的 API 教程,并在尝试运行程序时遇到以下错误:

RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9Traceback (most recent call last):
  File "api.py", line 7, in <module>
import matplotlib.pyplot as plt
  File "/home/crash/TestEnv/venv/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 27, in <module>
import matplotlib.colorbar
  File "/home/crash/TestEnv/venv/local/lib/python2.7/site-packages/matplotlib/colorbar.py", line 32, in <module>
import matplotlib.artist as martist
  File "/home/crash/TestEnv/venv/local/lib/python2.7/site-packages/matplotlib/artist.py", line 12, in <module>
from .transforms import Bbox, IdentityTransform, TransformedBbox, \
  File "/home/crash/TestEnv/venv/local/lib/python2.7/site-packages/matplotlib/transforms.py", line 39, in <module>
from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,
ImportError: numpy.core.multiarray failed to import

我知道这不是我的代码,因为我也尝试使用示例代码运行它并且遇到了同样的问题。我在这里看到的一个答案是尝试 Numpy 1.8,但这也不起作用。

此外,所有这些都是按照指示在虚拟环境中设置的,所以我认为这不是我在其他地方安装的问题。

【问题讨论】:

  • 你的 virtualenv 很可能是坏了。尝试在干净的 virtualenv 中重新安装它。
  • 这次我启动了一个新的virtualenv,即使使用了viralwrapper,也遇到了同样的错误......

标签: python api numpy matplotlib


【解决方案1】:

从有要求的文件安装数据包可能会导致失败。我的意思是pip install -r requirements.txt

在我看来 pip 只是按顺序安装数据包而没有依赖关系(文件的第一行,第二行,...)。

我遇到了同样的问题,因为在环境之外安装了 numpy 并且在 requirements.txt 中安装了 numpy numpy matplotlib Pip 使用系统 nympy 编译了 matplotlib,之后它安装了新的 numpy 并且没有任何效果.

我刚刚切换了字符串并在numpy 之后设置了matplotlib。现在可以了。

【讨论】:

  • 1. pip 不尝试解决依赖关系是不正确的。 2. pip 不保证需求会按顺序安装——依赖这个是个坏主意。
【解决方案2】:

试试这个:

pip install numpy --upgrade

对我有用

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 2018-06-11
    • 2016-02-24
    • 2023-03-20
    • 2018-10-13
    • 2018-09-20
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多