模块'numba.findlib'没有属性'get_lib_dir' [英] module 'numba.findlib' has no attribute 'get_lib_dir'

查看:117
本文介绍了模块'numba.findlib'没有属性'get_lib_dir'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试学习如何使用pyculib并得到AttributeError:模块'numba.findlib'没有属性'get_lib_dir'

I'm trying to learn how to use pyculib and got AttributeError: module 'numba.findlib' has no attribute 'get_lib_dir'

4核CPU(英特尔)+ GeForce GTX 745

4 core CPU (intel) + GeForce GTX 745

文件",第1行,在 runfile('C:/Python/Scripts/LearnCUDA/curand.py',wdir ='C:/Python/Scripts/LearnCUDA')

File "", line 1, in runfile('C:/Python/Scripts/LearnCUDA/curand.py', wdir='C:/Python/Scripts/LearnCUDA')

Runfile中的文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py",行786 execfile(文件名,命名空间)

File "C:\Users\Administrator\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile execfile(filename, namespace)

exec文件中的第110行,文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py" exec(compile(f.read(),文件名,'exec'),命名空间)

File "C:\Users\Administrator\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace)

文件"C:/Python/Scripts/LearnCUDA/curand.py",第11行,在 从pyculib import rand作为curand

File "C:/Python/Scripts/LearnCUDA/curand.py", line 11, in from pyculib import rand as curand

文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ pyculib__init __.py",第49行,在 从 .导入blas,sparse,fft,rand,sort

File "C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib__init__.py", line 49, in from . import blas, sparse, fft, rand, sorting

文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ pyculib \ sorting__init __.py",第1行,在 从.radixsort导入RadixSort

File "C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib\sorting__init__.py", line 1, in from .radixsort import RadixSort

文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ pyculib \ sorting \ radixsort.py",第38行,在 lib = load_lib('radixsort')

File "C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib\sorting\radixsort.py", line 38, in lib = load_lib('radixsort')

load_lib中的第24行,文件"C:\ Users \ Administrator \ Anaconda3 \ lib \ site-packages \ pyculib \ sorting \ common.py" libpath = os.path.join(findlib.get_lib_dir(),全名)

File "C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib\sorting\common.py", line 24, in load_lib libpath = os.path.join(findlib.get_lib_dir(), fullname)

AttributeError:模块'numba.findlib'没有属性'get_lib_dir'

AttributeError: module 'numba.findlib' has no attribute 'get_lib_dir'

import numpy as np
from pyculib import rand as curand

prng = curand.PRNG(rndtype=curand.PRNG.XORWOW)
rand = np.empty(100000)
prng.uniform(rand)
print(rand[:10])

推荐答案

导航到C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib\sorting\并备份common.py.用

Navigate to C:\Users\Administrator\Anaconda3\lib\site-packages\pyculib\sorting\ and make a back up of common.py. Replace the code in common.py with

from numba import findlib
import ctypes
import os
import platform
import warnings

def library_extension():
    p = platform.system()
    if p == 'Linux':
        return 'so'
    if p == 'Windows':
        return 'dll'
    if p == 'Darwin':
        return 'dylib'

def load_lib(libname):
    fullname = 'pyculib_%s.%s' % (libname, library_extension())
    devlib = os.path.join(os.path.abspath(os.path.dirname(__file__)), fullname)
    if os.path.exists(devlib):
        libpath = devlib
        warnings.warn('Using in-tree library %s' % libpath)
    else:
        libpath = os.path.join(findlib.get_lib_dirs()[0], fullname)

    return ctypes.CDLL(libpath)

如果此解决方案能够解决问题,请还原为您的后援

If this dosent fix the problem revert to your backup

这篇关于模块'numba.findlib'没有属性'get_lib_dir'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆