我在运行runtests.py
时遇到错误。
我使用Ubuntu 16.04和Django 1.6.5版。我从github复制了代码。
./runtests.py: line 3: os.environ[DJANGO_SETTINGS_MODULE]: command not found
./runtests.py: line 4: syntax error near unexpected token `(`
./runtests.py: line 4: `test_dir = os.path.dirname(__file__)`
我的 runtest.py 文件:
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'test-settings'
test_dir = os.path.dirname(__file__)
sys.path.insert(0, test_dir)
import django
from django.test.utils import get_runner
from django.conf import settings
def runtests():
if django.VERSION >= (1, 7):
django.setup()
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=1, interactive=True)
failures = test_runner.run_tests(
['quiz', 'essay', 'multichoice', 'true_false']
)
sys.exit(bool(failures))
if __name__ == '__main__':
runtests()
我怎样才能解决这些错误?
答案 0 :(得分:2)
看起来你正试图在命令行上执行这个脚本,就像在./runtests.py
中一样,它正在调用一个bash解释器,因此你会得到各种奇怪的错误。解决这个问题的两种方法:
python runtests.py
#!/usr/bin/env python
的顶部,然后运行./runtests.py
。答案 1 :(得分:0)
根据this post,你必须改变
os.environ['DJANGO_SETTINGS_MODULE'] = 'test-settings'
到
os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings'
test
必须是您的 django项目名称。如果不是,请相应更改。