本文主要是介绍Pycharm中无法导入包问题:Unresolved reference 解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
在项目E中存在文件夹F、G、H,F有文件夹a和b,在a中引入b的一个类,
a.py:
from b import fun
虽然运行成功,但是在Pycharm中显示: Unresolved reference
例如:
在pycharm中经常会出现,显示无法引用到的这些类,即使这些类都在工程中.
看文件上方的import会发现对应的模块import不成功:
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 typin
分析
既然这些类都在工程中,那么import不成功就是因为路径没对应,事实上是pycharm默认该项目的根目录为source目录,所以import使用绝对路径而不是相对路径的话,就会从项目的根目录中查找,而不是我们希望的其中的/src目录,所以import不成功。
解决方法
改成相对路径
from ...package import *
第一个.
表示当前目录,后面的每一个’.’表示上一层目录。用相对目录可以保证import成功,但是不建议这种写法,因为如果当前这个文件要移动到其他包的话,就要改很多地方了,当然,使用相对路径表示可以随意更改包名。在pycharm中设置source路径
file–>setting–>project:server–>project structure
将放package的文件夹设置为source,这样import的模块类等,就是通过这些source文件夹作为根路径来查找,也就是在这些source文件夹中查找import的东西。
方法二:
1. 将F文件夹 设置为source
2. 确保将soucers加入到PYTHONPATH:
这篇关于Pycharm中无法导入包问题:Unresolved reference 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!