pycharm 中package, directory, sources root, resources root的区别

【遇到的问题】

导入yolov5中有utils文件,自己的代码中也有utils文件,使得yolov5中的这部分引用出错了。

pycharm 中package, directory, sources root, resources root的区别_第1张图片

【解决方案】

单独建立detection文件夹,把检测相关的都放在这里,yolov5是github上拉取的源码,发现yolov5中from utils import...有下划线,且会认为是edgeserver里的utils。

【方法1】选中yolov5文件夹,右键设定成“marked directory as sources root”

【方法2】把yolov5中各个子文件夹中的from import 的互相引用的地方,全部改成.yolov5.ccc.ccc, 工作量太大,不合适。

【知识补充】

1、package, 显示为文件夹上带一个点

每个里面都有一个__init__.py, 虽然内容为空。通过添加它,Python 会将目录视为包含包,使这部分模块对其他目录可见,因此能够通过from 。。。import。。。被导入。

2、directory, 显示为普通文件夹

Dictionary在pycharm中是一个文件夹,放置资源文件等,该文件夹其中并不包含_ _ init.py_ _文件

3、sources root,显示为蓝色文件夹

指定一个文件夹,你告诉IntelliJ IDEA,这个文件夹及其子文件夹中包含的源代码,可以编译为构建过程的一部分。PyCharm使用Source roots作为解析导入(import)的起点,也就是说,当你在代码中写相对路径的时候,就是以source root为起点进行查询

4、resources root,显示为橘色下标的文件夹

用于应用程序中的资源文件(图像、各种配置XML和属性文件等)。在构建过程中,资源文件夹的所有内容都复制到输出文件夹中。

5、Excluded roots (shown as ) are ones that PyCharm “almost ignores”.

你可能感兴趣的:(troubleshooting,pycharm,ide,python)