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

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

  1. mytask.py
    python导入本地模块报错之终极解决方案_第2张图片
    这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了
  2. start.py
    python导入本地模块报错之终极解决方案_第3张图片
    这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为主模块(启动文件)不能使用相对导入。

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

你可能感兴趣的:(python)