Python py2exe“IOError ... unknown url type:https”问题

时间:2017-07-03 05:23:54

标签: windows python-2.7 https exe py2exe

所以我的repartition在使用IDLE / Python运行时工作正常,但当我将其编译成单个.exe文件(使用Web Scrapper)时,它会引发 IOError

使用py2exe模块时:

urllib

使用IOError: [Errno url error] unknown url type: 'https' 模块时:

requests

我注意到,在使用requests.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available. 进行编译时,它最后说几个“模块似乎缺失”,包括py2exe,以及对OpenSSL.SSL的几个引用,可能是问题?

任何想法,解决方案......?

2 个答案:

答案 0 :(得分:1)

试一试 设置“skip_archive”:True,“unbuffered”:True

setup(
      version = "1.0",            
      name = "MyApplication",
      url = "http://www.example.com",
      author = "yourname",
      author_email = "yourname@gmail.com",
      license = "https://www.binpress.com/license/",
      copyright = 'Copyright (c) 2017 MyApplication',
      windows=[{'script': "yourfile.py","icon_resources": [(0, "youricon.ico")],'copyright': "Copyright (c) 2017 MyApplication"}] ,options={'py2exe':{"skip_archive": True,"unbuffered": True,'packages':['Tkinter','PIL','sip','pyavrophonetic','speech_recognition','simplejson','tkSimpleDialog','tkFileDialog','io','tkMessageBox','Tkconstants','random','pyaudio','os','wave','pocketsphinx','sphinxbase','pyttsx']}}
     )
#name your reqired modules

然后小心地将手动丢失的文件粘贴到dist目录和其各自目录下的其他文件下,因为你可以找到模块下缺少的一些文件。然后使用Inno Setup为您的exe安装程序。希望这可以帮助。 的修改 您可以在D:\Python\Lib\site-packagesD:\Python\Lib

中的大多数python自己的模块中找到额外安装的模块

答案 1 :(得分:1)

您可以检查一下您的Windows机器上是否安装了openssl吗? openssl是一个开源加密库,大多数* nix系统都使用它。我相信请求和urllib使用相同的底层库。

一旦你修复了这个然后编译,我希望错误消失。

注意:我不完全熟悉你如何做到这一点,我没有Windows机器来测试我通过谷歌搜索找到的一些文章。