py2exe编译错误:语法无效(_socket3.py,第183行)

时间:2016-06-30 04:19:26

标签: python python-2.7 py2exe

我正在尝试在单个exe中编译python应用程序。 我正在使用python 2.7和py2exe。

我的应用程序中使用的模块

  • PyQt4的
  • Pymongo
  • Psutil

当我开始编译时,我收到以下错误:

*** searching for required modules ***
error: compiling 'C:\Python27\lib\site-packages\gevent\_socket3.py' failed
    SyntaxError: invalid syntax (_socket3.py, line 183)

请告诉我如何解决此错误。

1 个答案:

答案 0 :(得分:6)

gevent版本1.1.1包含用于python 3的文件 _socket3.py 。使用python 2.7兼容的py2exe将 _socket3.py 编译为 _socket3。 pyc 会失败。

gevent包可能应该被修复,以便它不会为python 2.7安装_socket3.py文件

作为一种解决方法,可以删除 C:\ Python27 \ lib \ site-packages \ gevent_socket3.py 文件。 options = {'py2exe': {'exclude': 'gevent._socket3'}}的{​​{1}}也可能有用。