python导入本地模块报错之终极解决方案
很多时候,我们在写一个python项目时,都会分模块来写,在一个模块中导入自己写的另一个模块,最后在写一个启动程序,但运行启动程序时往往会报错说找不到你写的模块,对此,这里教大家一种通用且正规的python项目组织结构,基本都能解决这种找不到本地模块的问题。
以下图为例说明:
首先是创建一个项目文件夹:myproject ,这里面包括启动文件start.py
、README.md
文件以及你的项目文件myproject文件夹。这就是基本的项目结构。这样你就能在myproject文件夹里面的py文件里使用相对路径导入其他文件夹下的模块了。其实,Scrapy项目的目录结构也大致是这样的,大家可以看看创建scrapy项目时的目录结构。
-
mytask.py
这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了 -
start.py
这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为主模块(启动文件)不能使用相对导入。
最后,只要在命令行输入python start.py
就可以运行程序了。