Python ImportError:在django项目中运行manage.py测试时,没有名为simple的模块

Python ImportError:在django项目中运行manage.py测试时,没有名为simple的模块,python,django,Python,Django,回溯: ./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/manageme

回溯:

./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

我试图从app文件夹中删除init.py,但没有名为app\u name的模块。当我从项目文件夹中删除init.py时,控制台说没有名为settings的模块。如何测试我的应用程序?

因此,首先,您需要将两个uu init uu.py放回您找到它们的位置。它们允许您从该模块导入内容。其次,您应该在manage.py中发布代码,以便我们更好地了解正在发生的事情,但在我看来,您在其中有一行类似于import django.contrib.admin.util或import from django.contrib.admin.util的内容。此模块在您正在使用的django版本中被删除,因此您应该用django.contrib.admin.util替换django.contrib.admin.utils中出现的任何问题。

我通过删除

TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'
从settings.py


使用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)
而不是:

如果版本[1]>1: 返回DjangoTeamcityTestRunner**options.run_teststest_标签, 额外测试=额外测试,**选项 返回运行旧方式额外测试、选项、测试标签、详细信息
你为什么把它拿走?什么原因这个问题的唯一答案是你的问题和那个问题的区别是你的文件夹应该是模块,而他的不是/usr/bin/env python import os import sys if name==main:os.environ.setdefaultDJANGO\u SETTINGS\u模块,project.SETTINGS from django.core.management import execute\u from_command\u line execute\u from_command\u linesys.argv我在admin.py中只找到了一个django.contrib.admin.util,并将其替换为utils。但是什么都没变你在变什么文件?manage.py或尝试从中导入的文件?除非你知道自己在做什么,否则你不应该弄乱django的源代码……我没有改变django的源代码。我刚刚在应用程序的admin.py中将admin.util替换为admin.utils。