我有一个结构脚本,试图为我写的应用程序运行测试 它已经使用setup.py安装,我可以导入它 我正在按照我发现here的脚本 我的问题是django-admin找不到我的应用程序:
追踪(最近的呼叫最后):
文件 “/usr/local/lib/python2.6/dist-packages/fabric/main.py” 第542行,主要部分 命令[name](* args,** kwargs)文件 “/usr/local/lib/python2.6/dist-packages/envconf/fabfile.py”,第35行,在测试中 management.call_command('test','envconf')文件 “/usr/local/lib/python2.6/dist-packages/django/core/management/init.py” 第166行,在call_command中 返回klass.execute(* args,** defaults)文件“/usr/local/lib/python2.6/dist-packages/django/core/management/base.py”, 第220行,执行中 output = self.handle(* args,** options)File“/usr/local/lib/python2.6/dist-packages/django/core/management/commands/test.py”, 第37行,处理中 failures = test_runner.run_tests(test_labels)
文件 “/usr/local/lib/python2.6/dist-packages/django/test/simple.py” 第395行,在run_tests中 suite = self.build_suite(test_labels, extra_tests)文件 “/usr/local/lib/python2.6/dist-packages/django/test/simple.py” 第285行,在build_suite中 app = get_app(label)文件“/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py”, 第14行,在get_app中 raise ImproperlyConfigured(“无法找到带有标签%s的应用程序”% app_label) django.core.exceptions.ImproperlyConfigured: 带有标签envconf的应用程序不能 结果
这是我的代码: 导入functools import os
from fabric.api import local, cd, env
from fabric.contrib.project import rsync_project
from django.conf import settings
from django.core import management
NAME = os.path.basename(os.path.dirname(__file__))
ROOT = os.path.abspath(os.path.dirname(__file__))
os.environ['PYTHONPATH'] = os.pathsep.join([ROOT])
env.hosts = ['omer.me']
local = functools.partial(local, capture=False)
def test():
settings.configure(DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '.',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
},
INSTALLED_APPS = ('envconf', ))
print os.environ
management.call_command('test', 'envconf')
可能出现什么问题?
答案 0 :(得分:2)
答案 1 :(得分:0)
嗯...我不确定,但可能错误地配置了设置。 NAME 应该是sqlite数据库文件的完整路径。根据文件:http://docs.djangoproject.com/en/1.2/ref/settings/#name