【Pycharm】import自定义包

问题描述

使用pycharm时通常需要跨py文件调用,此时我们需要import自定义的包。

我们以下图所示的情况为例:我们在test.py中希望import utils这个包
在这里插入图片描述

首先我们用下面这行代码尝试import,但是发现不可行

import lab0.utils as p1

此时报错:ModuleNotFoundError: No module named 'lab0'
在这里插入图片描述

下面介绍三种方法导入自定义包

方法1:适用于import同目录下的包

import utils as p1	

去掉父目录lab0,直接import utils
如果一直在同目录下import包的话,这种方式还是比较省事的。

方法2:适用于import相同/不同目录下的包

import lab.lab0.utils as p1

在原来的导入项前加上了lab0的上级目录。
这种方法的好处在于Pycharm不会编译时下划线警告了,而且打出utils.时还会自动提示utils中的类和函数。

方法3:添加父目录到Python的搜索目录模块的路径集中

import sys
sys.path.append("..")
import lab0.utils as p1

通过这种方式,python程序会在上一级查找相应的其他python包或者文件。

这种方法没改变原来我们的想法:import 上级目录名.包名 ,而且最开始sys.append了之后对于上级目录下的其它包可以一劳永逸。

参考链接

python脚本中的sys.path.append("…")详解

猜你喜欢

转载自blog.csdn.net/weixin_45577864/article/details/121714956
今日推荐