我正在尝试运行 Django 站点的manage.py
脚本,但它失败并出现以下错误:
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
File "/scratch/tools/lib/python2.5/site-packages/django/core/management/__init__.py", line 4, in <module>
from optparse import OptionParser, NO_DEFAULT
ImportError: cannot import name NO_DEFAULT
无论我使用 Python 2.5.1 还是 2.6.1(Fedora 包),都会发生这种情况。在交互式 Python 会话中进行导入时,我可以重现该错误。
这并不奇怪,因为NO_DEFAULT
它没有在optparse.py
's__all__
中列出,也没有在optparse
文档中列出。
那么,令人惊讶的是,在我自己的工作站上,我可以from optparse import NO_DEFAULT
在 Python 2.5.5 和 2.6.6(Debian 软件包)中成功完成。
我的问题是双重的:
- 我怎么能导入未列出的东西
__all__
? - 我应该如何修复 Django
manage.py
?如果可能的话,我希望它与 Python 2.5 一起工作。