#!/usr/bin/env python
from settings import INSTALLED_APPS
from django.utils.importlib import import_module
import os
app_names = (x for x in INSTALLED_APPS if not x.startswith('django'))
app_paths = (os.path.dirname(os.path.abspath(import_module(x).__file__)) for x in app_names)
print "\n".join(x for x in app_paths if not x.startswith(os.getcwd()))
如果项目使用“pip”安装依赖项/库,这可能很有用:
pigar对我很好。
它不包括已安装的应用程序yet,但这只是一点额外的工作。
这不是一个完整的答案,但希望它能成为一个合理的起点。
据我所知,django项目的依赖项(除了django本身及其依赖项
*
)包括:settings.INSTALLED_APPS
(及其依赖项)加载的应用程序#项目导入的1个模块
您可能可以使用snakefood来发现这一点。
#2个应用程序通过
加载settings.INSTALLED_APPS
运行以下脚本应提供
INSTALLED_APPS
中列出的应用程序的路径:然后,您可以将其传递给
snakefood
以发现它们的依赖项。*
要彻底,应该可以从settings
中发现各种后端(db/cache/auth/etc),并将相关模块包含到依赖项列表中。相关问题 更多 >
编程相关推荐