解决命令行运行python文件,出现No module named *** 报错问题

时间:2021-10-10 17:42:54

有时候在一个项目中运行的时候,可能是之前已经mark成sources root 你自己忘记了,

于是就在命令行也执行python文件,然后就出现 No module named *** 等 相关你认为不可能会出现的问题,

心想 明明有这个文件但为什么调用的时候偏偏会出错呢、  或者是导入的时候就出错等等啊问题。

 

解决问题

在调用的外包文件模块的文件上头添加:

import sys

sys.path.append('你的项目名称')

但是如果文件多的话可能会比较麻烦!


楼主在学习的django时候,发现这样的问题就记录下:

settings.py

import os
import sys

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

此时就要那app的目录就要加入到 base_dir 中,这还是挺重要的。