如何在Windows 7 64位上安装PyOpenSSL?

14 投票
3 回答
16661 浏览
提问于 2025-04-16 13:28

为了让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 个回答

1

eGenix.com 提供了适用于Windows的32位和64位安装程序。我刚刚下载并安装了Python 2.6的64位版本安装程序,这解决了我的问题。

12

其实,这个网站的第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注册表键

安装步骤

  1. http://www.python.org/getit/下载并安装Python 2.7.2(使用Windows安装程序)
  2. 在开始菜单底部的搜索程序和文件栏中输入“regedit”,然后按回车
  3. 在左侧面板中找到“HKEY_LOCAL_MACHINE\SOFTWARE\Python”,并点击它(会高亮显示为蓝色)

    1. 选中这个分支后,点击文件 --> 导出
    2. 将文件保存到一个你能轻松找到的地方
    3. 用你喜欢的文本编辑器打开这个文件
    4. 在每一行的“SOFTWARE”和“\Python”之间插入"\Wow6432Node"(一个简单的方法是使用查找和替换功能,把“SOFTWARE”放在查找框中,把“SOFTWARE\Wow6432Node”放在替换框中)
    5. 保存文件
    6. 找到你保存的文件,双击它以启动注册表修改
  4. 现在从http://pypi.python.org/pypi/Scrapy下载Scrapy 0.14的Windows安装程序

  5. 双击Scrapy安装程序,应该一切正常。
  6. http://twistedmatrix.com/trac/wiki/Downloads下载并安装适用于Python 2.7 64位的Twisted 11.1.0
  7. 下载并安装Zope.Interface

    1. http://python-distribute.org/distribute_setup.py下载distribute_setup.py(右键保存),然后双击它进行安装
    2. http://pypi.python.org/pypi/zope.interface/3.8.0#downloads下载zope.interface-3.8.0-py2.6-win-amd64.egg
    3. 打开命令提示符(在上面的搜索程序和文件框中输入“cmd”)并导航到你的Python脚本文件夹(类似于“cd C:\Python27\Scripts”)
    4. 输入“easy_install C:\Downloads\zope.interface-3.8.0-py2.6-win-amd64.egg”(将C:\Downloads\替换为你下载Zope.Interface的路径),然后按回车
  8. http://www.lfd.uci.edu/~gohlke/pythonlibs/下载并安装lxml-2.3.2.win-amd64-py2.7.‌exe

  9. 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)
  10. 安装w3lib

    1. 打开命令提示符(开始 -> 搜索程序和文件 -> “cmd”)
    2. 导航到你的Python脚本文件夹(通常是“C:\Python27\Scripts”)
    3. 输入“easy_install w3lib”,然后按回车
  11. 现在我们只需要将Python脚本文件夹添加到系统路径中,这样就可以使用scrapy了

    1. 点击“开始菜单”按钮,右键点击“计算机”,选择“属性”
    2. 在左侧栏中点击“高级系统设置”
    3. 点击“环境变量...”
    4. 在(下方)系统变量面板中找到“Path”变量并双击它
    5. 在“变量值:”面板中点击,然后按“End”键
    6. 在行末输入或粘贴";C:\Python27\Scripts\"(根据你安装Python的路径进行修改)
    7. *确保不要更改或打乱那里的任何现有信息
    8. 点击确定,确定,确定,关闭
11

你的问题是没有安装PyOpenSSL。虽然你没有明确说,但我从你的提问中推测,你安装的是32位的PyOpenSSL,但你使用的是64位的Python。这是行不通的。

如果你真的无法找到64位的PyOpenSSL,那么最简单的解决办法,可能也是唯一的办法,就是安装32位的Python、Scrapy以及它所有的依赖。如果你觉得有挑战性,可以尝试从源代码编译64位版本,但我对PyOpenSSL了解不多,所以不确定这样做是否可行。

撰写回答