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

Posted

技术标签:

【中文标题】如何在 Windows 7 64 位上安装 PyOpenSSL?【英文标题】:How do I install PyOpenSSL on Windows 7 64-bit? 【发布时间】:2011-07-13 03:09:37 【问题描述】:

要让 Scrapy 在 HTTPS 上工作,I need PyOpenSSL,但我似乎无法让它工作。

那么,有 64 位版本吗? I don't see one...我已经安装了32位版本但是...

我目前从 Scrapy 得到这个错误:

ERROR: Error downloading <https://SOME_PRIVATE_URL_HERE>:  
  [Failure instance: Traceback: <class 'scrapy.exceptions.NotSupported'>:
  HTTPS not supported: install pyopenssl library

有人知道如何获取或编译 64 位版本吗?或者那是不必要的?

【问题讨论】:

【参考方案1】:

实际上,本网站的第 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 注册表项

安装步骤

    从以下位置下载并安装 Python 2.7.2(使用 Windows 安装程序) http://www.python.org/getit/ 转到开始底部的搜索程序和文件栏 菜单并输入“regedit”并回车

    使用左侧窗格导航到 “HKEY_LOCAL_MACHINE\SOFTWARE\Python”并点击它(突出显示 它是蓝色的)

      选择分支后转到文件 --> 导出 将文件保存在您可以轻松访问的位置 在您喜欢的文本编辑器中打开文件 在“SOFTWARE”和“\Python”之间插入“\Wow6432Node” 每一行(一个简单的方法是进行查找和替换 在 Find 字段中使用“SOFTWARE”,在“SOFTWARE\Wow6432Node”中 替换字段 保存文件 导航到您保存所述文件的位置并双击它以 启动注册表修改

    现在下载 Scrapy 0.14 Windows 安装程序,从 http://pypi.python.org/pypi/Scrapy

    双击 Scrapy 安装程序,一切正常。 从以下位置下载并安装适用于 Python 2.7 64 位的 Twisted 11.1.0 http://twistedmatrix.com/trac/wiki/Downloads

    下载并安装 Zope.Interface

      从以下位置下载distribute_setup.py http://python-distribute.org/distribute_setup.py(右键 & 保存),然后双击安装 从以下位置下载 zope.interface-3.8.0-py2.6-win-amd64.egg http://pypi.python.org/pypi/zope.interface/3.8.0#downloads 打开命令提示符(在相同的搜索程序中键入“cmd”) 和文件 窗格如上)并导航到您的 Python 脚本 文件夹(类似于“cd C:\Python27\Scripts”) 键入“easy_install” C:\Downloads\zope.interface-3.8.0-py2.6-win-amd64.egg” (将 C:\Downloads\ 替换为您下载的任何位置 Zope.Interface to) 并按回车键

    从以下位置下载并安装 lxml-2.3.2.win-amd64-py2.7.‌exe http://www.lfd.uci.edu/~gohlke/pythonlibs/

    下载安装 egenix-pyopenssl-0.13.0_1.0.0g_1.win-amd64-py2.7.msi 来自 http://www.egenix.com/cryptodownload/?file=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 Scripts 文件夹添加到系统路径 所以我们可以使用scrapy

      单击“开始菜单”按钮并右键单击“计算机”并 选择“属性” 点击左侧栏中的“高级系统设置” 点击“环境变量...” 在(下部)系统变量窗格中找到“路径”变量 然后双击它 点击“变量值:”窗格并点击“结束”按钮 键入或粘贴“;C:\Python27\Scripts\”(修改任何位置 你在行尾安装了 Python) *请确保不要打扰或更改那里的任何现有信息 点击OK,OK,OK,X

【讨论】:

【参考方案2】:

你的问题是 PyOpenSSL 没有安装。您没有说,但我从您的问题推断出您已经安装了 32 位版本的 PyOpenSSL,但使用的是 64 位版本的 Python。那是行不通的。

如果您真的无法获得 64 位版本的 PyOpenSSL,那么最简单,也可能是唯一的解决方案是安装 32 位版本的 Python、Scrapy 及其所有依赖项。如果您有勇气,那么您可以尝试从源代码编译 64 位,但我对 PyOpenSSL 的了解还不够,无法说明这是否实用。

【讨论】:

第二句结尾说,完全切换到 32 位会有帮助,现在就试试。我不需要 Python 是 64 位的,或者如果我将来确实需要它,我可以安装第二个 Python 安装或其他东西...... :-) @Tom 最简单的就是安装 32 位 Python 等。它在 64 位 Windows 上运行良好。我的机器上什至没有 64 位 Python,因为我对 32 位库有一些依赖。 太棒了,这么快的解决方案,谢谢! DEBUG: Crawled (200) &lt;POST https://SOMESITE&gt; (referer: http://SOMESITE)【参考方案3】:

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

【讨论】:

以上是关于如何在 Windows 7 64 位上安装 PyOpenSSL?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 64 位上安装 Android SDK:“找不到 JDK”? [复制]

Windows 7 64 位上的 streamlit 安装错误

无法在 Windows 7 64 位上安装 WebdriverIO Cucumber JS 框架

Windows 7 64 位上的 MercurialEclipse:不安装“Mercurial 的 Windows 二进制文件”

在 Windows 7 64 位上安装 Eclipse 企业版时出错 [重复]

如何在 Windows 7 64 位上设置 MinGw? [关闭]