Python 3.2不会导入cookielib

时间:2012-03-25 03:17:31

标签: python

我到处寻找这个并且找不到答案。我检查了我的python版本,它是版本3.2。当我尝试导入cookielib时,我会收到:

ImportError: No module named cookielib

我在Python 3.0中看到它被重命名为 http.cookiejar并且它会自动导入cookielib

我认为我的python配置中可能存在一些错误,所以我想我应该尝试像http.cookiejar一样导入import 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

4 个答案:

答案 0 :(得分:9)

自动重命名业务仅适用于2to3。因此,您必须import http.cookiejar

只有Python编组才会抛出错误EOFError: EOF read where not expected。最有可能的是,这是由竞争条件fixed in Python 3.3引起的,其中多个进程试图同时写入pyc文件。删除所有.pyc文件可能是一种解决方法。

答案 1 :(得分:3)

在Python 3.0中,cookielib模块已重命名为http.cookiejar。将源转换为3.0时,2to3工具将自动调整导入。

答案 2 :(得分:1)

try:
    import cookielib
except:
    import http.cookiejar
    cookielib = http.cookiejar

答案 3 :(得分:0)

我最初的猜测是你的库文件已损坏。在Python安装中,查看lib/python3.2/http/cookiejar.py并向下滚动到最后。我的(Python 3.2.2)以save()方法定义结尾,带有

finally:
    f.close()

如果您看到其他任何内容,您的安装可能已损坏,我建议您重新安装。