跳转到主要内容

Django应用程序,用于帮助管理外部依赖项

项目描述

django-dependency

通过任何版本控制系统托管的外部依赖项管理器。

安装

  1. 下载应用程序并将其添加到您的Python路径

hg clone https://django-dependency.googlecode.com/hg/ django-dependency
cd django-dependency
python setup.py install
  1. 将其添加到您的INSTALLED_APPS

INSTALLED_APPS = (
    # ...
    'deps',
)

设置

将DEPENDENCIES添加到您的设置文件

  • 如果您正在从svn:externals迁移,可以使用脚本自动生成依赖项列表。只需运行以下命令,将输出复制/粘贴到您的设置文件中,并确保您的INSTALLED_APPS是最新的

create_deps.py apps/external_apps libs/external_libs
  • 如果您不是从svn:externals迁移,您可以手动设置您的DEPENDENCIES和INSTALLED_APPS,如下所示

import os
import deps
# ...
PROJECT_PATH = os.path.abspath('%s/..' % path.dirname(__file__))
# ...
DEPDENDENCY_ROOT = os.path.join(PROJECT_PATH, 'external')
DEPENDENCIES = (
    # subversion
    deps.SVN(
        #Uncomment to pin to revision 22
        #rev=22,
        'http://code.djangoproject.com/svn/django/trunk/django',
        root=DEPDENDENCY_ROOT,
    ),
    # mercurial
    deps.HG(
        #Uncomment to pin to revision 8ed91139be12
        #rev='8ed91139be12',
        'http://bitbucket.org/jezdez/django-robots/',
        app_name='robots',

        root=DEPDENDENCY_ROOT,
    ),
    # git pinned to a SHA1 id with rev can use HEAD or other tags
    deps.GIT(
        'git://github.com/howiworkdaily/django-faq.git',
        app_name='faq',
        project_name='django-faq',
        root=DEPDENDENCY_ROOT,
        rev='85a23e71ba23d4fc5cd92d81a02c1b9073161a21',
    ),
)
# ...
INSTALLED_APPS = (
    # ...
    'robots',
)

更新manage.py

  • 要动态地将依赖项添加到您的Python路径,请将以下代码添加到manage.py中,在导入设置之后但在导入Django的任何内容之前

import deps
deps.add_all_to_path(projectname.settings, auto_update=sys.argv[1] == 'up')
  • 例如,一个完整的manage.py可能看起来像这样

#!/usr/bin/env python

import sys
import os.path
import deps

# remove '.' from the path (you should use the project package to reference
# anything in here)
sys.path.pop(0)
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, os.path.dirname(PROJECT_ROOT))

try:
    import projectname.settings
except ImportError:
    import sys
    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r.\ It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
    sys.exit(1)

if len(sys.argv) > 1 and sys.argv[1] == 'up':
    deps.add_all_to_path(projectname.settings, auto_update=True)
else:
    deps.add_all_to_path(projectname.settings, auto_update=False)

from django.core.management import execute_manager
if __name__ == "__main__":
    execute_manager(projectname.settings)
  • 现在您可以运行“./manage.py up”来获取依赖项了!

Caktus咨询集团,LLC赞助开发。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

django-dependency-1.1.tar.gz (4.4 kB 查看散列)

上传时间:

由以下组织支持