当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 147847提问 提问时间:2023-09-24 17:33:03阅读次数: 47

最佳答案 问答题库478位专家为你答疑解惑

【遇到的问题】

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

【解决方案】

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

【方法1】选中yolov5文件夹,右键设定成“marked directory as sources root”, 修改后,detection.py执行没有问题,但是外面调用detection时,就会报错。

【方法2】yolov5中各个子文件夹中, 引用utils文件的地方,全部改成加上前缀EdgeServer.detection.yolov5., 相当于直接改成了绝对路径,虽然繁琐,但是一劳永逸,也无需设置成source root.

【知识补充】

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”.

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"pycharm 中package, directory, sources root, resources root的区别":http://eshow365.cn/6-12908-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!