欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python引用包错误记录(pycharm:ide报错, terminal:命令行运行不报错)

程序员文章站 2022-06-01 12:06:13
...

项目:SET_UP_MENU下的paddleclas下的predict.py以下是症状

症状一:

import utils as utils
from utils import *

# import tools.infer.utils as utils
# from tools.infer.utils import get_image_list

注释部分使用命令行可用,但是ide不可用

非注释部分,都可用,都在统一目录下,引用的包的话
症状二:

引用包下方出现红线,或者在代码中运行时也有红线,但是ide和命令行调用,依然可以成功运行!
from tools.infer.utils import get_image_list(自行想象下面的红线)

在大佬的帮助下找到的错误处理如下

出错原因: 在这个项目中,还有一个同名的包,就像上面的那个from utils import *中的utils,通过 ctrl加上鼠标右键点击之后,路径进入的是改项目下的另一个同名的包。

而我们引用的utils包就在使用的predict.py的同一目录下,因此系统在运行的时候,首先会在同级目录下,进行搜索包,但是在检测错误也就是画红线的时候是从设置的源码根(源码根是自己左键点击目录自己设置的哈)上,向下进行的。

解决办法:

	1.将包含这个包的的文件夹(这里是predict.py和utils.py )设置为源码根,这样predict.py和utils.py 系统在搜索的时候就会从最近的源码根开始了
   
   2.把同名的其中的一个包该个名字,这个有些麻烦,不过迁移环境运行的时候就不用设置那些源码根了。
相关标签: python之坑 python