完美解决Pycharm无法导入包的问题 Unresolved reference

yipeiwu_com7年前Python基础

如下所示:

Unresolved reference 'ERROR_CODE_INPUT_ERROR' 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.

问题描述

pycharm显示无法引用到的这些类,即使这些类都在工程中,看看文件上方的import会发现对应的模块import不成功。

分析

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

解决方法

改成相对路径

from ...package import * 

第一个.表示当前目录,后面的每一个'.'表示上一层目录。用相对目录可以保证import成功,但是不建议这种写法,因为如果当前这个文件要移动到其他包的话,就要改很多地方了,当然,使用相对路径表示可以随意更改包名,只要保证

在pycharm中设置source路径

file–>setting–>project:server–>project structure

将放package的文件夹设置为source,这样import的模块类等,就是通过这些source文件夹作为根路径来查找,也就是在这些source文件夹中查找import的东西。

以上这篇完美解决Pycharm无法导入包的问题 Unresolved reference就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python lxml中etree的简单应用

python lxml中etree的简单应用

我一般都是通过xpath解析DOM树的时候会使用lxml的etree,可以很方便的从html源码中得到自己想要的内容。 这里主要介绍一下我常用到的两个方法,分别是etree.HTML()...

归纳整理Python中的控制流语句的知识点

程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句。例如,清单 1 展示了几个简单的语句。当把它们键入 Python 解释...

Python中3种内建数据结构:列表、元组和字典

Python中有3种内建的数据结构:列表、元组和字典。参考简明Python教程 1. 列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。假想你有一...

解决Python3中的中文字符编码的问题

解决Python3中的中文字符编码的问题

python3中str默认为Unicode的编码格式 Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等 所以在Python3中必须将str类型...

Python3 把一个列表按指定数目分成多个列表的方式

如果我们需要将一个列表按指定数目分成多个列表:比如[1,2,3,4,5,6,7,8,9,10]分成[1,2,3][4,5,6][7,8,9][10],我们可以建立一个列表分割的函数spl...