0

私はpython 3.2.2を使用しています。私がやろうとすると:

urllib.request.urlopen('https://pypi.python.org/simple/babel')

次のエラー メッセージが表示されます。

  Traceback (most recent call last):
    File "solver.py", line 93, in <module>
      generateMetadata('babel')
    File "solver.py", line 76, in generateMetadata
      linklist = parseURL(name)
    File "solver.py", line 20, in parseURL
      resp = opener.open(REP_URL+name+'/')
    File "/usr/lib/python3.2/urllib/request.py", line 375, in open
      response = meth(req, response)
    File "/usr/lib/python3.2/urllib/request.py", line 487, in http_response
      'http', request, response, code, msg, hdrs)
    File "/usr/lib/python3.2/urllib/request.py", line 407, in error
      result = self._call_chain(*args)
    File "/usr/lib/python3.2/urllib/request.py", line 347, in _call_chain
      result = func(*args)
    File "/usr/lib/python3.2/urllib/request.py", line 560, in http_error_302
      headers, fp)
  urllib.error.HTTPError: HTTP Error 301: Moved Permanently - Redirection to url '/simple/Babel' is not allowed

検索した結果、リダイレクトを自動的に処理する必要があることがわかりました。

4

1 に答える 1

2

Python バージョン 3.2.0 から 3.2.2 にバグがあるようです。

プログラムのユーザーがこのバージョンを使用することがわかっている場合は、モンキー パッチを試すことができます。(障害のあるバージョンのいずれかを使用している場合は、モジュールを 3.2.3 からパッチを適用したもので上書きします)

対応するバグ レポートがあります: http://bugs.python.org/issue13696

于 2013-03-19T14:46:31.420 に答える