我在Linux机器上安装cherrypy 3.2时遇到了问题(在Ubuntu和Centos上都有)。我在机器上安装了最新的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的,我是否遗漏了什么,因为我尝试的两台机器都是干净的,而且没有安装python3?
今天我在centos5.6上的一个新的python2.7.2版本中也遇到了这个问题。我验证了运行setup.py是否使用了正确的子文件夹(py2)。在深入研究cpcompat.py时,似乎假定您有SSL支持,这是我自己假设的。如果您没有SSL,那么下面的行将抛出一个导入错误,并从py3.0模块http导入。
要验证这是您看到的,请尝试以下操作。
如果您看到导入错误,这可能就是发生的情况。尝试启用对python的SSL支持(google可以提供帮助),看看这是否解决了问题。
希望有帮助:)
很抱歉。我不确定到底出了什么问题。CherryPy 3.2支持Python 2和3,但为此,我们选择了setup.py在两个不同的目录之间切换。很有可能pip或者你环境的其他部分已经被它搞糊涂了。您应该尝试一个简单的“python setup.py install”来确保这一点。另外,CherryPy 3.2.1已经重新统一了这两个目录,应该会在几天内发布。
您需要SSL支持。
sudo apt-get install libssl-dev
。yum install openssl-devel
。python-path/Modules/Setup.dist
,取消对SSL相关内容的注释(确保SSL变量指向SSL安装路径)。./configure --enable-ssl & make & make install
。相关问题 更多 >
编程相关推荐