python导入本地模块报错之终极解决方案

很多时候,我们在写一个python项目时,都会分模块来写,在一个模块中导入自己写的另一个模块,最后在写一个启动程序,但运行启动程序时往往会报错说找不到你写的模块,对此,这里教大家一种通用且正规的python项目组织结构,基本都能解决这种找不到本地模块的问题。
以下图为例说明:
在这里插入图片描述
首先是创建一个项目文件夹:myproject ,这里面包括启动文件start.pyREADME.md文件以及你的项目文件myproject文件夹。这就是基本的项目结构。这样你就能在myproject文件夹里面的py文件里使用相对路径导入其他文件夹下的模块了。其实,Scrapy项目的目录结构也大致是这样的,大家可以看看创建scrapy项目时的目录结构。

  1. mytask.py
    在这里插入图片描述
    这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了
  2. start.py
    在这里插入图片描述
    这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为主模块(启动文件)不能使用相对导入。

最后,只要在命令行输入python start.py就可以运行程序了。

2022-04-18补充:
有些项目代码中使用的是绝对导入,用pycharm打开,导入的地方可能会出现红色下划波浪线,虽然不影响程序运行,但看着难受,安排:鼠标右键项目名->Mark Directory as ->选择Sources Root即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值