【问题标题】:ImportError: No module named http.cookies error when installing cherrypy 3.2ImportError:安装cherrypy 3.2时没有名为http.cookies的模块错误
【发布时间】:2011-10-02 08:26:13
【问题描述】:

我在 Linux 机器(Ubuntu 和 Centos 上)上安装cherrypy 3.2 时遇到问题。我在机器上安装了最新的 Python 和 Pip(2.7 版)。在 Ubuntu 上,我使用的是 $sudo pip install cherrypy。在 centos 上,我是从源代码安装的。

安装完成并成功后,导入cherrypy模块时出现错误:

>>> import cherrypy
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/usr/local/lib/python2.7/site-packages/cherrypy/__init__.py", line 62, in <module>
     from cherrypy._cpcompat import urljoin as _urljoin, urlencode as _urlencode
   File "/usr/local/lib/python2.7/site-packages/cherrypy/_cpcompat.py", line 184, in <module>
     from http.cookies import SimpleCookie, CookieError
ImportError: No module named http.cookies
>>> 

我查阅了文档,似乎 http.cookies 是针对 python 3 的,我是否缺少任何东西,因为我尝试过的两台机器都是干净的并且从未安装过 python 3?

【问题讨论】:

  • OK 问题通过降级到 Cherrypy 3.1.2 解决。

标签: python cherrypy


【解决方案1】:

对此感到抱歉。我不确定到底出了什么问题。 CherryPy 3.2 支持 Python 2 和 3,但为了做到这一点,我们选择了 setup.py 切换的两个不同目录。 pip 或您环境的其他部分可能对此感到困惑。您应该尝试一个简单的“python setup.py install”来确定。另外,CherryPy 3.2.1 重新统一了两个目录,过几天应该会发布。

【讨论】:

    【解决方案2】:

    我今天也遇到了这个问题,从 centos5.6 上的源代码全新安装了 python2.7.2。我验证了运行 setup.py 正在使用正确的子文件夹 (py2)。在挖掘 _cpcompat.py 时,似乎假设你有 SSL 支持,我自己假设。如果您没有 SSL,则以下行会引发导入错误并从 http(py3.0 模块)导入。

    from httplib import BadStatusLine, HTTPConnection, HTTPSConnection, IncompleteRead, NotConnected
    

    要验证这是您所看到的,请尝试以下操作。

    from httplib import HTTPSConnection
    import ssl
    

    如果您看到导入错误,这可能是正在发生的事情。尝试为 python 启用 SSL 支持(谷歌可以提供帮助),看看是否可以解决问题。

    希望对您有所帮助:)

    【讨论】:

    • 非常感谢!对于像我一样使用 Ubuntu 的人,我从 apt 安装了 libglobus-openssl-dev,并在 setup.py 文件中将“/usr/include/openssl/”添加到了 search_for_ssl_incs_in 列表中。
    【解决方案3】:

    您需要 SSL 支持。

    • 在 ubuntu 上:sudo apt-get install libssl-dev
    • centos 上:yum install openssl-devel.
    • 打开python-path/Modules/Setup.dist,取消注释SSL相关内容(确保SSL变量指向你的SSL安装路径)。
    • 重新编译python,./configure --enable-ssl &amp; make &amp; make install

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2018-04-20
      • 1970-01-01
      • 2015-01-21
      • 2015-10-04
      • 2016-10-26
      • 2018-10-14
      • 2016-12-07
      • 1970-01-01
      相关资源
      最近更新 更多