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

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

  1. mytask.py
    在这里插入图片描述
    这里就很方便使用 “.” 和 “..” 来表示当前路径和上一级路径了
  2. start.py
    在这里插入图片描述
    这里要注意,启动文件start.py中不能使用".“和”.."等来导入本地模块,因为含有相对导入的模块不能被直接运行(python start.py),需要用python -m 参数才能运行,大家可以自己搜索了解一下。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章