pycharm import 同路径下.py文件和文件夹报红解决方案

本文介绍了在PyCharm环境中遇到的导入模块错误及四种解决方法:通过添加`.`明确导入路径;将文件夹设置为source root;将指定路径添加到系统路径;将文件夹初始化为Python package。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

pycharm中从同文件夹目录下导入其他.py文件和其他文件夹报错
在这里插入图片描述

解决方法1

如果要导入的包是一个文件夹,例如我想要导入同目录下的pytorch-pretrain-bert,由于我的环境里本来就是有pytorch-pretrain-bert这个包的,所以解释器默认会从后端path去编译,也就是两个包名重复了。
最简单的办法是在导入包前面加上.,指明了要导入的包是当前py文件同路径下的,这样就消除了歧义
在这里插入图片描述

解决方法2(推荐)

上述的方法只能解决导入的是其他文件夹,但是如果要导入其他.py文件就不行
主要原因还是目标文件不在pycharm编译path下,右键将其加入到source root
在这里插入图片描述
另外,在pycharm里面,你只有将direction设置为source,这个direction下面的package才能正常显示(也就是python包的样子,不然看上去会和普通direction没差别),所以绝大多数情况下,在使用pycharm的时候把一些direction设置为source是没什么坏处的

解决方法3

直接将当前文件夹路径加入到运行编译路径下

import sys
import os
sys.path.append(os.path.abspath("../"))

这样main.py在编译运行的时候,解释器会额外从"…/"下去找包,虽然命令行里面run没有问题,但是pycharm里面还是会报红,强迫症的表示不能接受
在这里插入图片描述

解决方法4(推荐)

将该direction初始化为package
换句话说,就是直接在这个direction下面新建一个空的’__init__.py'文件

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值