发现问题

本人在使用 pycharm 写 python 项目的时候在导包的时候发现导包下面有红色波浪,然后爆出如下问题:

​Unresolved reference 'baidu_main_page' less... (Ctrl+F1) Inspection info: 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.​

This inspection detects names that should resolve but don

(图中有红色波浪)

问题解释

后来在网上查了知道这是因为 pycharm 中 python 项目默认包就是当前项目,所以即使这个代码运行是没有问题的但是还是有红色波浪。

详细来说这是因为 java 中 sources 包文件要么是 main 下的 java 包,要么是 test 下 java 包(一般 java 包中有 com 包…),所以 java 中我们常见的导包就是​​import com.xxx.xxx​​,但是 python 项目结构中默认是其项目就是直接的 sources,所以导包会有波浪报红现象,但是不影响运行

解决方式


  • 方式一:
    以后使用 python 项目规范一些,直接按照 python 项目文件夹直接为 sources 的 root
  • 方式二:
    若非要将平 python 项目中的某个层级的某个文件夹设为 sources 使得红色波浪线消失,就打开 Settings 搜索关键词——Project Structure,将需要设为包的文件设为蓝色文件夹 Sources 然后点击应用保存即可
    This inspection detects names that should resolve but don