Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-South错误:“;没有启用的应用程序匹配';myapp'&引用;_Python_Django_Django South - Fatal编程技术网

Python Django-South错误:“;没有启用的应用程序匹配';myapp'&引用;

Python Django-South错误:“;没有启用的应用程序匹配';myapp'&引用;,python,django,django-south,Python,Django,Django South,所以,我最终屈服了,抓住了南方。问题是,每次我尝试按照教程运行 "python manage.py schemamigration myapp --initial" 我犯了一个错误 "There is no enabled application matching 'myapp'" --我尝试过的事情-- 我让tripple检查了我的设置文件,从django shell运行Import South不会返回任何错误,并且我已经将包含manage.py的文件夹添加到PYTHONPATH,以及ws

所以,我最终屈服了,抓住了南方。问题是,每次我尝试按照教程运行

"python manage.py schemamigration myapp --initial"
我犯了一个错误

"There is no enabled application matching 'myapp'"
--我尝试过的事情--

我让tripple检查了我的设置文件,从django shell运行Import South不会返回任何错误,并且我已经将包含manage.py的文件夹添加到PYTHONPATH,以及wsgi.py和settings.py

我已经运行了python manage.py和python C:\path\to\manage.py变体,甚至进入了我的python目录并验证了south在site packages文件夹中。syncdb运行正常,以“未同步(使用迁移)”结尾。python manage.py migrate运行时不返回错误,但在其他方面似乎没有效果。我在运行syncdb之前和之后都试过运行上述命令,这对结果没有影响

--其他可能相关的信息--

Django 1.5.1,Python 2.7,未使用其他外部应用程序,Windows 7 64位,Python已添加到Windows路径,通过Python setup.py install命令安装。安装已成功完成。我不使用virtualenv,我更愿意避免这种情况,因为这意味着要对当前项目的设置进行大量重构,浪费时间。我计划将来使用virtualenv,但不是现在


发生什么事了?我该如何解决这个问题?网络搜索显示根本没有什么好信息,我完全不知所措……

迁移是基于每个应用程序的。每个应用程序可能有自己的迁移,也可能没有自己的迁移,但您需要为要使用它们的每个应用程序创建迁移。(通常是所有应用程序)


/manage.py migrate
是一种为所有应用程序运行迁移的快捷方式

请在设置中的已安装应用程序中检查一次是否包含应用程序名称。py

此错误可能会产生误导:不是在South尝试导入应用程序时抛出,而是在它尝试获取应用程序的
模型时抛出

  • 可能它无法导入应用程序(因为您没有将其名称添加到已安装的应用程序中)
  • 可能它无法导入
    models
    模块,因为文件
    models.py
    不存在,或者因为目录
    models/
    不包含
    \uuu init\uuuuuuuuupy.py
South不导入
模型
模块本身。相反,它将该任务留给
django.db.models.get_app('app_of_interest')
,它根据其docstring“返回包含给定app_标签的模型的模块”。事实上,
get_app
引发的错误消息不同,这取决于它是未能导入应用程序还是导入模型,但是这两个例外都是
配置不当
,而
模式迁移
脚本看起来没有比这更深入的了


因为South说它只接受安全更新(它使用Django 1.7的迁移功能进入了生命的尽头),所以我没有向它的代码库提交修复程序,而是在这里记录问题。

安装的应用程序中的
'myapp'
myapp/models.py
存在吗?它不存在,而且确实不应该存在myapp'是项目的名称,是否不正确?那么,south是否只适用于项目中的特定应用程序?我至少有6个自定义应用程序具有自己的model.py文件。是否有一个命令我应该运行它来应用于整个项目?@第二,我想我知道我现在做错了什么。我试图在django项目中使用django应用程序的命令。如果我没有弄错的话,python manage.py migrate是一个命令,它对整个项目执行相同的操作。我还需要先为每个应用程序运行shemamigration来初始化它们吗?如果您添加一个正式答案,我可以将其标记为最佳答案。谢谢你的时间和帮助!为了记录在案,在使用标签自动完成时要小心。我之所以出现此错误,是因为我的自动完成将“myapp/”改为“myapp”。我将model.py改为models.py