This inspection detects names that should resolve but don't报错的两种情况

前言

  1. 在需要导入的文件夹创建__init__.py这个文件夹下记得每次创建,就是导入的模块的目录下,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为。只要模块或者包所在的目录在sys.path中,就可以使用import 模块import 包来使用。

第一种情况(导入模块和py文件在同一个目录)

如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比
如在a.py中使用b.py:

import b

第二种情况(导入的模块在py文件所在目录的父目录下)

如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:

  1. 通过”import sys,sys.path.append(‘父目录的路径’)“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。
  2. 直接修改环境变量:在windows中是 “ set 变量=‘路径’ ” 例如:set PYTHONPATH=‘C:\test\...’ 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 "export 变量=‘路径’ “,查看是" echo $变量 ",通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。

情况一:
导包import时发生错误,请参考这两位

我的问题是第一篇文章解决的,主要出现的错误提示是

   [this inspection detects names that should resolve but don't.due to dynamic dispatch and duck typing,this is possible in a limited but useful number of cases .top-level and class-level items are supported better than instance items](https://blog.csdn.net/zhangyu4863/article/details/80212068)

https://blog.csdn.net/zhangyu4863/article/details/80212068

这篇文章还没有看,如果以后碰到类似错误就看一下
https://www.cnblogs.com/biyuting/p/6262599.html

情况二:
调用函数是发生这种错误,那么可能是有多个库函数均含有所调用的函数,IDE不知道用哪个。

   def adaboostTrainDS(dataArr,classLabels,numTt=40):
        weakClassArr = []
    
        m = shape(dataArr)[0]
        from keras.backend import ones
        D = numpy.mat(ones((m, 1) / m))
        from keras.backend import zeros
        aggClassEst= numpy.mat(zeros(m, 1))
        for i in range(numTt):
            bestStump,error,classEst=buildStump(dataArr,classLabels,D)
            print ("D:",D.T)
            from keras.backend import log
            alpha=float(0.5*log((1.0-error)/max(error,1e-16)))
            bestStump['alpha']=alpha
            weakClassArr.append(bestStump)
            print("classEst:",classEst.T)
            expon=multiply(-1 * alpha * numpy.mat(classLabels).T, classEst)
            D=multiply(D, numpy.exp(expon))
            D=D/D.sum()
            aggClassEst+=alpha*classEst
            print("aggClassEst:",aggClassEst.T)
            aggErrors=multiply(numpy.sign(aggClassEst) !=
                               numpy.mat(classLabels).T, ones(m, 1))
            errortRate=aggErrors.sum()/m
            print("total error:",errortRate,"\n")
            if errortRate==0.0:break
        return  weakClassArr

mat、zeros等函数会报这种错误,那么可能是一个函数对应的库函数太多,找不到该对应哪个所致。
在这里插入图片描述
点击函数左边小灯泡,前两个选一个,进而选择自己需要使用的包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值