django中数据迁移报错:ModuleNotFoundError: No module named ‘xxx‘

报错截图:

定位问题:

出现此问题,肯定是在apps中的应用项目文件,没有在 setting.py 配置路径,无法找到。

 

解决:

在setting.py中 引入 sys模块,然后 在python搜索路径中添加 apps文件目录:

import sys
import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

 

补充小知识点:

sys.path 

(1)定义:

- 模块搜索路径。

当我们是加载一个模块的时候,Python会在指定的路径下搜索对应的 .py 文件,如果找不到,就会报错!

(2)Python解释器搜索目录:

默认情况下,Python解释器会搜索当前的目录所有已安装的内置模块第三方模块,而搜索的径路存正是放在sys模块的path变量中:

import sys
print(sys.path)
['G:\\mypython\\lianxi', 'G:\\mypython\\lianxi', 'E:\\pythonEditer\\PyCharm 2019.1.3\\helpers\\pycharm_display', ··· ]

(3)sys.path 是一个列表

所以我们可以使用insert或者append向列表中添加自己的搜索目录。

注:【使用insert(0, 'path')python解释器会优先搜索此路径目录】

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值