异常:版本不匹配:这是 'cffi' 包版本 1.13.1,

Exception: Version mismatch: this is the 'cffi' package version 1.13.1,

我尝试 运行 使用 CUDA 的代码,我得到了这个错误,系统似乎有问题

完整代码:我知道了CUDACast #10a - Your First CUDA Python Program and

import numpy as np
from timeit import default_timer as timer
from numba import vectorize

@vectorize(["float32(float32, float32)"], target='cuda')


def VectorAdd(a, b):
        return a + b

def main():
    N = 32000000

    A = np.ones(N, dtype=np.float32)
    B = np.ones(N, dtype=np.float32)
    C = np.zeros(N, dtype=np.float32)

    start = timer()
    C = VectorAdd(A, B)
    vectoradd_timer = timer() - start

    print("C[:5] = " + str(C[:5]))
    print("C[-5:] = " + str(C[-5:]))

    print("VectorAdd took %f seconds" % vectoradd_timer)

if __name__ == '__main__':
    main()

输出:

Exception: Version mismatch: this is the 'cffi' package version 1.13.1, located in '/usr/local/lib/python2.7/dist-packages/cffi/api.pyc'. When we import the top-level '_cffi_backend' extension module, we get version 1.5.2, located in '/usr/lib/python2.7/dist-packages/_cffi_backend.x86_64-linux-gnu.so'. The two versions should be equal; check your installation.

可能是这个原因:

$which pip
/usr/bin/pip

您必须尝试分别删除所有 cffi 软件包并安装版本 1.5.2

sudo pip install cffi==1.5.2

或者您可以通过更新旧版本来确保版本一致

sudo apt-get install python-cffi

希望对你有帮助