如何在Windows 7 64位上安装PyOpenSSL?
为了让Scrapy在HTTPS上正常工作,我需要PyOpenSSL,但是我似乎搞不定这个东西。
那么,有没有64位的版本呢?我没看到... 我现在安装的是32位的版本,但是...
我从Scrapy那里得到了这个错误信息:
ERROR: Error downloading <https://SOME_PRIVATE_URL_HERE>:
[Failure instance: Traceback: <class 'scrapy.exceptions.NotSupported'>:
HTTPS not supported: install pyopenssl library
有没有人知道怎么获取或编译一个64位的版本?还是说这个其实不需要?
3 个回答
eGenix.com 提供了适用于Windows的32位和64位安装程序。我刚刚下载并安装了Python 2.6的64位版本安装程序,这解决了我的问题。
其实,这个网站的第9步可以解决你的问题。
http://steamforge.net/wiki/index.php/How_to_Install_Scrapy_in_64-bit_Windows_7
编辑:包括来自steamforge的内容:
注意事项
- Scrapy必须与Python 2.5、2.6或2.7一起安装(不能用3.x版本)
- Python 2.7(和3.2)不会加载正确的32位兼容的Windows注册表键
安装步骤
- 从http://www.python.org/getit/下载并安装Python 2.7.2(使用Windows安装程序)
- 在开始菜单底部的搜索程序和文件栏中输入“regedit”,然后按回车
在左侧面板中找到“HKEY_LOCAL_MACHINE\SOFTWARE\Python”,并点击它(会高亮显示为蓝色)
- 选中这个分支后,点击文件 --> 导出
- 将文件保存到一个你能轻松找到的地方
- 用你喜欢的文本编辑器打开这个文件
- 在每一行的“SOFTWARE”和“\Python”之间插入"\Wow6432Node"(一个简单的方法是使用查找和替换功能,把“SOFTWARE”放在查找框中,把“SOFTWARE\Wow6432Node”放在替换框中)
- 保存文件
- 找到你保存的文件,双击它以启动注册表修改
现在从http://pypi.python.org/pypi/Scrapy下载Scrapy 0.14的Windows安装程序
- 双击Scrapy安装程序,应该一切正常。
- 从http://twistedmatrix.com/trac/wiki/Downloads下载并安装适用于Python 2.7 64位的Twisted 11.1.0
下载并安装Zope.Interface
- 从http://python-distribute.org/distribute_setup.py下载distribute_setup.py(右键保存),然后双击它进行安装
- 从http://pypi.python.org/pypi/zope.interface/3.8.0#downloads下载zope.interface-3.8.0-py2.6-win-amd64.egg
- 打开命令提示符(在上面的搜索程序和文件框中输入“cmd”)并导航到你的Python脚本文件夹(类似于“cd C:\Python27\Scripts”)
- 输入“easy_install C:\Downloads\zope.interface-3.8.0-py2.6-win-amd64.egg”(将C:\Downloads\替换为你下载Zope.Interface的路径),然后按回车
从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载并安装lxml-2.3.2.win-amd64-py2.7.exe
从http://www.egenix.com/cryptodownload/?file=egenix-pyopenssl-0.13.0_1.0.0g_1.win-amd64-py2.7.msi下载并安装egenix-pyopenssl-0.13.0_1.0.0g_1.win-amd64-py2.7.msi
- 当它要求你导航到Python 2.6目录时,只需指向你的Python 2.7目录(默认是C:\Python27)
安装w3lib
- 打开命令提示符(开始 -> 搜索程序和文件 -> “cmd”)
- 导航到你的Python脚本文件夹(通常是“C:\Python27\Scripts”)
- 输入“easy_install w3lib”,然后按回车
现在我们只需要将Python脚本文件夹添加到系统路径中,这样就可以使用scrapy了
- 点击“开始菜单”按钮,右键点击“计算机”,选择“属性”
- 在左侧栏中点击“高级系统设置”
- 点击“环境变量...”
- 在(下方)系统变量面板中找到“Path”变量并双击它
- 在“变量值:”面板中点击,然后按“End”键
- 在行末输入或粘贴";C:\Python27\Scripts\"(根据你安装Python的路径进行修改)
- *确保不要更改或打乱那里的任何现有信息
- 点击确定,确定,确定,关闭
你的问题是没有安装PyOpenSSL。虽然你没有明确说,但我从你的提问中推测,你安装的是32位的PyOpenSSL,但你使用的是64位的Python。这是行不通的。
如果你真的无法找到64位的PyOpenSSL,那么最简单的解决办法,可能也是唯一的办法,就是安装32位的Python、Scrapy以及它所有的依赖。如果你觉得有挑战性,可以尝试从源代码编译64位版本,但我对PyOpenSSL了解不多,所以不确定这样做是否可行。