繁体   English   中英

ImportError:在Django项目中运行manage.py test时,没有名为简单的模块

[英]ImportError: No module named simple while running manage.py test in django project

追溯:

./manage.py test my_app
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 381, in run_from_argv
    parser = self.create_parser(argv[0], argv[1])
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 354, in create_parser
    self.add_arguments(parser)
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 52, in add_arguments
    test_runner_class = get_runner(settings, self.test_runner)
  File "/home/zuber/projects/private-CR/env/local/lib/python2.7/site-packages/django/test/utils.py", line 152, in get_runner
    test_module = __import__(test_module_name, {}, {}, force_str(test_path[-1]))
ImportError: No module named simple

我试图从应用程序文件夹中删除init .py,然后出现“没有名为app_name的模块”。 当我从项目文件夹中删除init .py时-控制台说“没有名为设置的模块”。 如何测试我的应用程序?

因此,首先,您需要将两个__init__.py放回找到它们的位置。 它们使您可以从该模块中导入内容。 其次,您应该将代码发布到manage.py以便我们对发生的事情有一个更好的了解,但是在我看来,您似乎在其中有一行内容类似于import django.contrib.admin.utilimport <something> from django.contrib.admin.util 您正在使用的django发行版中已删除了此模块,因此您应将django.contrib.admin.util所有出现都替换为django.contrib.admin.utils

我通过删除解决了问题

TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'

来自settings.py

查看运行Django 1.6之后的所有测试的相关问题

对我而言,在使用Pycharm时,问题是PyCharm测试运行程序与Django 2.0不兼容

解决的办法是:用替换254:EOF行

  if VERSION[1] > 1 or VERSION[0] > 1:
    return DjangoTeamcityTestRunner(**options).run_tests(test_labels,
                                                         extra_tests=extra_tests, **options)

  return run_the_old_way(extra_tests, options, test_labels, verbosity)

代替:

  if VERSION[1] > 1:
    return DjangoTeamcityTestRunner(**options).run_tests(test_labels,
                                                         extra_tests=extra_tests, **options)

  return run_the_old_way(extra_tests, options, test_labels, verbosity)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM