2012-03-25 14 views
3

私はこれをどこでも見て、答えを見つけることができません。私は私のpythonのバージョンをチェックして、それはバージョン3.2です。私は私が受け取るcookielibをインポートしようとすると:Python 3.2はcookielibをインポートしません

ImportError: No module named cookielib

私はPython 3.0でそれが http.cookiejarに改名し、それが自動インポートcookielibをというものであったことを見てきました。

私はおそらく私のpythonの構成にいくつかの野生のエラーがあったと思ったので、私はこのimport http.cookiejarのようなhttp.cookiejarを試してみるべきだと思った。それはすべて動作しませんでした、私は取得し、エラー:

EOFError: EOF read where not expected

これは私が予想していたエラーではありません。なぜならimport http.cookiesのインポートがうまくいっているからです。

誰にもこの問題の解決策がありますか?私は何を見落としていますか?

全エラー:

Traceback (most recent call last): 
    File "C:\Users\Spencer\Downloads\selenium-2.20.0.tar\selenium-2.20.0\selenium-2.20.0\test", line 1, in <module> 
    import urllib.request, urllib.parse, http.cookiejar 
EOFError: EOF read where not expected 

答えて

8

自動改名事業は、2to3を使用する場合のみ適用されます。したがって、import http.cookiejarする必要があります。

エラーEOFError: EOF read where not expectedは、Pythonマーシャリングによってのみスローされます。多くの場合、競合状態fixed in Python 3.3が原因で、複数のプロセスが同時にpycファイルに書き込もうとしました。すべての.pycファイルを削除すると回避策になる可能性があります。

+0

将来的にこの問題を抱える人たち:Pythonを再インストールすることは、劇的なステップのようです。 'EOFError'を引き起こしているライブラリから' .pyc'ファイルを削除するだけで、今私にとっては十分でした。 – Dougal

+1

EOFError:3つ以上のPythonプロセスが同じpycファイルを読み書きするときの競合状態の可能性が最も高いです。 Python 3.3で修正済み:http://bugs.python.org/issue13146 –

+0

@GuidovanRossumポインタをありがとう!私は答えを更新しました。 – phihag

0

私の最初の推測は、あなたが破損したライブラリファイルを持っているということです。 Pythonのインストールの中で、lib/python3.2/http/cookiejar.pyを見て最後までスクロールしてください。鉱山(Pythonの3.2.2)

finally: 
    f.close() 

save()メソッド定義で終わるあなたが何かを表示されれば、インストールはおそらく壊れていると私はそれを再インストールお勧めします。

+0

それは私には正しいようです:http://pastebin.com/MJ1iS2Gt – Sneitzke38

1

Python 3.0では、cookielibモジュールの名前がhttp.cookiejarに変更されました。 2to3ツールは、ソースを3.0に変換するときに自動的にインポートを調整します。

+0

あなたが1つまたは2つの短い例を提示した場合、あなたの答えはより役に立ちます。 –

関連する問題