使用py2exe打包PyOpenSSL

时间:2015-05-29 07:07:31

标签: python package py2exe pyopenssl oauth2client

我已经编写了一个python脚本,用于通过它的API访问Google的电子表格。

因此,我使用3方模块“oauth2client”来实现这个目标,并在我的python脚本中导入它,如下所示:

from oauth2client.client import SignedJwtAssertionCredentials

我第一次用Python2.7编译它时,它给了我一个错误:“没有可用的加密库。”

经过研究,我发现三方包“PyOpenSSL”是必要的。 (reference

所以我用“pip”命令安装它,它已成功编译并在我的电脑上工作(win7)。

但是,当我尝试使用'py2exe'将我的python脚本打包到可执行文件(.exe)时,包含“PyOpenSSL”时出现问题。

我的“setup.py”是这样的,有以下选项:

setup(
        windows=['dream_club(SourceCode).py'],
        options={
                "py2exe":{
                        "includes": ["oauth2client.client", "pyopenssl"],
                }
        }
)

它给出了错误:“没有名为pyopenssl的模块”

我原本猜测使用'pip'来安装它可能是原因,所以我再次通过github下载它,并将整个文件夹移动到“C:\ Python27 \ Lib \ site-packages” ,但它仍然无效!

我尝试将选项从'includes'更改为'packages',但这是徒劳的。

我在尝试包含“oauth2client.client”时执行相同的操作,并且它成功了,所以我现在很困惑。

我的设备的操作系统是Windows7,如何通过py2exe包含此软件包(PyOpenSSL)?

1 个答案:

答案 0 :(得分:0)

我在开发代理时遇到了与pyopenssl类似的问题,问题是使用pip install升级到pyopenssl版本无效。

easy_install pyOpenSSL == 0.15解决了我的问题