转到.exe后出现Tweepy错误

时间:2015-03-28 17:32:06

标签: python python-2.7 tkinter py2exe tweepy

所以我刚刚在python中编写了这个tkinter程序,一切都运行正常,没有错误,但是当我把它转换为.exe时,我收到了这个错误:

  File "tweepy\binder.pyc", line 239, in _call
  File "tweepy\binder.pyc", line 189, in execute
  tweepy.error.TweepError: Failed to send request: [Errno 2] No such   file or directory

.py中的一切正常并且没有错误发生,我在互联网上找不到任何有关此问题的解决方案。 有人可以帮助我,我没有找到任何答案!!

1 个答案:

答案 0 :(得分:1)

好的我终于解决了我自己的问题,这是我自己设法找到的唯一解决方案,可能不是最好的,但它确实有效,所以我会一步一步地解释它,所以其他任何有同样问题的人都会这样做'我必须经历我所经历过的事情:  转到tweepy文件夹,找到binder.py打开它,然后在其中找到:

try:
     resp = self.session.request(self.method,
                                 full_url,
                                 data=self.post_data,
                                 timeout=self.api.timeout,
                                 auth=auth,
                                 proxies=self.api.proxy,
                                 )

然后在最后添加verify ='cacert.pem',看起来像这样:

try:
     resp = self.session.request(self.method,
                                 full_url,
                                 data=self.post_data,
                                 timeout=self.api.timeout,
                                 auth=auth,
                                 proxies=self.api.proxy,
                                 verify='cacert.pem')

保存它,现在你需要修改binder.pyc,因为它是py2exe在编译时使用的,为此创建一个新的脚本并在其中键入:

import py_compile

py_compile.compile('path_to_binder.py')

(在任何修改之前备份binder.py和binder.pyc会更好)

现在将脚本和binder.py(modded one)放在同一个文件夹中(脚本中的路径必须是此文件夹中的binder.py)然后运行脚本

将生成的binder.pyc放入旧的binder.pyc所在的tweepy文件夹中。

现在像你一样运行py2exe,当它完成后找到'cacert.pem'并将它放在.exe所在的'dist'文件夹中,运行.exe,一切都应该完美。