2013-08-05 52 views
1

在过去的几天我观察我的Django项目的一个非常奇怪的现象:Django的奇怪的行为:manage.py命令还没有结束

当我运行一些命令manage.py我看到,虽然这些命令他们执行他们不结束。举例来说,如果我尝试运行执行syncdb:

 
c:\django> python manage.py syncdb 
Syncing... 
Creating tables ... 
Creating table questions_category 
Creating table questions_question 
Creating table questions_answer 
Installing custom SQL ... 
Installing indexes ... 
Installed 0 object(s) from 0 fixture(s) 

在这个时候,我应该得到一个指令输入 - 但是我没有!我与其他各种manage.py命令具有相同的行为 - 它们运行正常,但不会退出(例如dumpdata或loadata - 数据已转储/装载正常,但当这些命令完成后,我不会收到命令提示符) !有没有人观察到相同的行为?有没有一种方法来调试?我试着在settings.py的最后添加print语句,我可以看到输出没有问题。

此外,我可能与上述有关的另一个问题是,runserver_plus命令不再能够找出代码更改。所以,当我运行manage.py runserver_plus和更改例如我的settings.py我看到这一点:

 
* Detected change in 'C:\\progr\\py\\adeies\\adeies\\settings.py', reloading 

它停在那里:(它不重新加载应用程序中使用正常的runserver但是没有问题重新加载的应用程序!出于显而易见的原因,我更喜欢使用runserver_plus命令。

你有关于如何调试任何想法?

谢谢!

+0

尝试在没有重装mod的情况下运行它,看看你是否遇到这里建议的异常:http://stackoverflow.com/questions/4167250/django-manage-py-runserver-never-finishes-validating-models。命令是__python manage.py runserver --noreload__ – Ricola3D

+0

您也可以通过提供'-v3'选项来使命令输出更加详细,其中数字是详细级别,而'3'是最高的。请参阅'./manage.py syncdb --help'。另外'--traceback'可能会有所帮助。 – rednaw

+0

@ Ricola3D python manage.py runserver --noreload正常工作时(当然它不重新加载应用程序,当我改变它) – Serafeim

回答

1

一些依赖可能会启动一个线程。Django会等待所有线程科幻在代码更改时自动重新加载或执行管理命令时。检查所有依赖关系,以确定哪一个可能导致此问题。