先看一下痛点:
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 快捷键安全方便的导入包。