相对导入和命名冲突以及格式和工具的使用

在本地项目中一个utils包里,__init__.py文件里导入的cv2,其中也有utils包并包含__init__.py文件,为了避免相对导入,我修改了utils为myutils,但是还是提示与cv2相关的循环导入,所以我又修改了__init__.py为my__init__.py,由于__init__.py文件是utils被识别为一个包的标志,所以我修改了这个名称导致从myutils里导入的每个模块都提示无法导入,我以为是作用域的问题,然后把一整句导入拆开到每个模块调用之前一句导入,暂时解决了这个问题,又在别处出现了这个问题,然后我知道了是my__init__.py的命名问题,又改回了__init__.py,另外我还删除了__pycache__文件,他们是包含.pyc的缓存文件,因为python导入模块的时候只在第一次导入时生效,后面都用缓存,这一点是我又一次做csdn技能树的题的时候知道的,我不知道是不是我删除了缓存起了作用,因为重命名一个包之后都要做相应的改动,类似重启重新加载之类,总之改什么都不是一个点,总有别处引用他和他相关,然后要相应地改一串那种,之后我又回到了开始的ValueError: Caught ValueError in DataLoader worker process 0.和ValueError: mr_train_1001;这块代码还是得再熟悉下和数据相关的部分;

总之出错了就更容易理解得深刻,所谓:Sink in the river the lessons I've learned ! Sink in the river the lessons I've learned!!!

顺便吐槽下vim编辑的格式,也许我真的该升级vim的版本了,它的好处在于让我可以专心在键盘上操作,不好在于python这种十分重视格式的地方,没有自动化的代码格式编辑,是真的不如用pycharm方便,可能主要是我还不是很熟悉vim的操作,装检查格式的插件flake8又遇到网络问题,还要各种配置感觉很烦,索性就把pycharm当编辑器了,因为版本的原因,没法加载我虚拟机里的解释器,所以每个工具有其主要的功能,发挥主要优势就行,不用所有工具都万能

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值