pycharm Error:'__main__' is not a package以及红线问题

 

先看一下痛点:

Error:

  • from .xx import  xx    不可运行, 无红线,可点跳  (xx前带“.”)
  • from xx import  xx    可运行, 有红线,不点跳  (xx前不带“.”)

最终效果:

  • from xx import  xx     可运行, 无红线,可点跳  (xx前不带“.”)

目录结构:

内容做测试用,故很简单:

__init__.py:

__all__ = ['T1','T2']

T1.py:

def show_T1():
    print('T1')

T2.py:

def show_T2():
    print(T2)

run.py:(这个我需要截图,做对比了)

第一行写:form .T1 import show_T1 时(注意T1前带点“.”),没有错误,也没有红线,可以通过点击包含的文件函数,直接跳转,很方便,特别是项目很大的时候,逻辑嵌套很多的时候,来回跳转,调试改bug很爽。

但运行时,o(╥﹏╥)o 。。。

第一行,不带点:from T1 import show_T1 时,正好相反,可运行,但会失去点击跳转功能,还有当包含过多自建文件模块时,会有满屏的红线错误提示,非常碍眼,让老板同事看到也不好。当然,我更为前者痛心。项目大了,就没法搞。

核心问题:

 引入模块包出错

解决办法:

1. 在工作文件夹下添加__init__.py   对我反正没有起到效果

2. 手动设置工作根结点路径:选中文件夹,右键——》Mark Directory as ——》Source Root

看一下效果:

 

【更:2020-4-14 12:19:04】hello_noob同学的疑问:

其实任何项目,绝大多数都会有一个根目录的,文件夹也是根据功能有组织的布局的,整体会形成一个文件树的形式,在相互之间引用包的时候,应该从根目录开始引入。

这里pycharm有一个非常好用的功能,在引入某个包时,可以直接先写要引用的包里面的函数,然后通过alt+Enter 快捷键安全方便的导入包。

 

 

  • 17
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值