其实这是很多自己的程序由第三方程序祥缓(比如supervisor)调起来时会出现的问题,就是戚宴察程序在运行的时候找不到项目的路径.需要在主程序最上层导入当前程序运行高茄的路径:
import sysimport ossys.path.append(os.getcwd())
模板文档导入python并创建的方法如下:1.1 需要导入的模板在同一文件夹中
比如admin.py调用test.py模板,可以在admin.py中直接执行
因为python解释器查找模块时会找同一文件夹,所以不用导入路径名。
1.2 需要导入的模板在当前文件夹的子文件夹中
比如 manage.py调用setting.py模板,可以在manage.py中直接执行
无需加其他路径说明,因为 crm 也是一个模块(模块的集合)。
1.3 需要导入的模板在父文件夹中
比如admin.py想调用surround.py模板(在admin.py父文件夹project下),因为解释器找模块只会去本文件夹及本文件夹的子文件夹去找,不会去父文件夹找,为什么?试试看,先在admin.py中执行
当一个的模块被导入的时候,解释器首先寻找具有该名称的内置模块。如果没有找到,然后解释器从郑含 sys.path 变量给出的目录列表里搏握寻找该模板。所以输出结果可以看到是一个路径列表,其它路径不需要看,只看第一项
说明解释基丛庆器就是从 pro文件夹开始往下找,而surround.py是在 project/crm文件夹下,显然是找不到的。解决方法,在admin.py中执行手动把相应的路径添加到 sys.path 中就可以了,这样导入就相当于可以从添加的相应路径开始往下找模块了。可以找到,结果也不会报错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)