首页 > 技术文章 > 【PyCharm编辑器】之无法导入引用手动新建的包或类,报: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.

Owen-ET 2018-01-17 18:13 原文

一、现象描述

如下图所示,手动新建个类包calculator.py,想在test.py文件引用它,发现一直报红线,引用失败

Unresolved reference 'calculator' less... (Ctrl+F1) 

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.

 

 

二、解决办法

1)引用路径没有引对

既然这些类都在工程中,那么import不成功就是因为路径没对应,事实上是pycharm默认该项目的根目录为source目录,所以import使用绝对路径而不是相对路径的话,就会从项目的根目录中查找,而不是我们希望的其中的/src目录,所以import不成功。

例:from ..calculator import *

解释:第一个“.”是指本路径,第二个“.”是指上一个路径

 

正确方法:根据图中显示,两个.py文件都在同一目录下,只需要一个“.”就可以了

from .calculator import *

 

2)在pycharm中设置source路径,如图:

file –> setting –> project:XXXX –> project structure

 

 

 

把要引用的文件所在的文件夹设置为“sources”就可以了。

推荐阅读