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
ん。__all__
optparse
驚くべきことに、私自身のワークステーションではfrom optparse import NO_DEFAULT
、Python 2.5.5と2.6.6(Debianパッケージ)の両方で正常に実行できます。
私の質問は2つあります:
- に記載されていないものをインポートできるのは
__all__
どうしてですか? - Djangoを修正するにはどうすればよい
manage.py
ですか?可能であれば、Python2.5で動作させたいと思います。