【问题标题】:Python gives errors when running Django testsPython 在运行 Django 测试时出错
【发布时间】:2018-04-23 15:08:42
【问题描述】:

我在运行 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()

我该如何解决这些错误?

【问题讨论】:

  • 所以你从某个地方复制了一些代码,但不知道它是如何工作的?然后你让这里的人帮你解决?我投票结束这个问题,因为它没有显示任何研究,基本上是在询问代码有什么问题。

标签: python django


【解决方案1】:

看起来你正试图在命令行上执行这个脚本,就像在./runtests.py 中一样,它正在调用一个 bash 解释器,因此你会遇到各种奇怪的错误。解决此问题的两种方法:

  1. python runtests.py一样运行它
  2. 在文件顶部放置一个 shebang #!/usr/bin/env python 然后运行它 ./runtests.py

【讨论】:

  • 但是本地主机拒绝连接
【解决方案2】:

根据this post你要改

os.environ['DJANGO_SETTINGS_MODULE'] = 'test-settings'

os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings'

注意

test 必须是您的 django 项目名称。如果不是,请相应更改。

【讨论】:

    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2019-07-22
    • 2014-08-07
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    相关资源
    最近更新 更多