Python django运行unittest失败,而我的一个应用程序名为;应用程序;,但是";“运行服务器”;作品

Python django运行unittest失败,而我的一个应用程序名为;应用程序;,但是";“运行服务器”;作品,python,django,unit-testing,Python,Django,Unit Testing,我有一个django项目,它的应用程序如下: 在应用程序/应用程序中,像往常一样有视图/模型/URL “runserver”可以很好地与命令配合使用 ./manage.py runserver --settings=mysettings 0:8000 但当我尝试使用下面的命令运行unittest时,遇到了一个问题 ./manage.py test --settings=mysettings ======================================== Traceback

我有一个django项目,它的应用程序如下:

在应用程序/应用程序中,像往常一样有视图/模型/URL

“runserver”可以很好地与命令配合使用

./manage.py runserver --settings=mysettings 0:8000
但当我尝试使用下面的命令运行unittest时,遇到了一个问题

./manage.py test --settings=mysettings
========================================

Traceback (most recent call last):
  File "/Users/lethe/.envs/django/lib/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/lethe/.envs/django/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/lethe/.envs/django/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/lethe/PycharmProjects/phone-buddy-oms/src/apps/downloads/tests/test_downloads_models.py", line 5, in <module>
    from apps.models import (AppSource, AppCategory, App, Merchant, Apk)
ImportError: cannot import name Apk
回溯(最近一次呼叫最后一次):
loadTestsFromName中的文件“/Users/lethe/.envs/django/lib/python2.7/site packages/nose/loader.py”,第413行
addr.filename,addr.module)
文件“/Users/lethe/.envs/django/lib/python2.7/site packages/nose/importer.py”,第47行,在importFromPath中
返回self.importFromDir(目录路径,fqname)
importFromDir中的文件“/Users/lethe/.envs/django/lib/python2.7/site packages/nose/importer.py”,第94行
mod=加载模块(部件名称、fh、文件名、描述)
文件“/Users/lethe/PycharmProjects/phone buddy oms/src/apps/downloads/tests/test_downloads_models.py”,第5行,在
从apps.models导入(AppSource、AppCategory、App、Merchant、Apk)
ImportError:无法导入名称Apk
django unittest框架似乎无法告诉应用程序或应用程序/应用程序,我曾尝试使用django nose运行,但失败了,出现了类似的错误


除了更改“应用程序/应用程序”的名称外,是否有其他解决方案?谢谢。

您的project home不应该有一个init.py文件,unittest将您的project home误认为是一个模块,并尝试从那里加载测试,但失败了(因为它与已安装的应用程序中的应用程序同名)。

运行
runserver
和运行
test
时,您的Python路径是什么(可在
sys.path
中找到)我强烈建议重命名您的根应用程序文件夹或“应用程序”应用程序,但我们可能可以通过确保正确设置路径来绕过它。看起来您正在使用屏幕截图中的pycharm。可能会有帮助。哪个版本的django?我使用的是virtualenv,我的sys.path包括我的项目目录:“”myproject/src“,而所有python文件都在src/apps下。