python setup.py install SyntaxError:无效语法926



我正试图按照本指南在CentOS 5.9 32位上安装"mod_pywebsocket"https://code.google.com/p/websocket-sample/wiki/HowToInstallMod_pywebsocket"

但是使用命令"sudo python setup.py install",我看到一个错误:

[root@localhost src]# python setup.py install
running install
running build
running build_py
running install_lib
byte-compiling /usr/lib/python2.4/site-packages/mod_pywebsocket/mux.py to mux.pyc
  File "/usr/lib/python2.4/site-packages/mod_pywebsocket/mux.py", line 926
    finally:
          ^
SyntaxError: invalid syntax
[root@localhost src]#

这里有几行"mux.py"文件:

916   Writing data will block the worker so we need to release
                # _send_condition before writing.
                self._logger.debug('Sending inner frame: %r' % inner_frame)
                self._request.connection.write(inner_frame)
                write_position += write_length
                opcode = common.OPCODE_CONTINUATION
        except ValueError, e:
            raise BadOperationException(e)
926     finally:
            self._write_inner_frame_semaphore.release()
    def replenish_send_quota(self, send_quota):
        """Replenish send quota."""
        try:
            self._send_condition.acquire()
            if self._send_quota + send_quota > 0x7FFFFFFFFFFFFFFF:
                self._send_quota = 0
                raise LogicalChannelError(

这是什么意思?我该怎么办?

问题是mux.py中使用的语法在Python 2.4中不起作用。如当前Python 2语言参考:中所述

在版本2.5中更改:在以前版本的Python中,try...except...finally不起作用。try...except必须嵌套在try...finally

我的猜测是mod_pywebsockets中的代码自从HowTo上一次在CentOS上使用Python 2.4进行测试以来已经发生了变化。您可以考虑修补代码以避免try...except...finally,或者搜索mod_pywebsockets代码库以找到与Python 2.4兼容的早期版本,或者您可以在系统Python 2.4的同时安装并使用较新版本的Python 2(Python 2.7.5是当前版本)。

相关内容

  • 没有找到相关文章

最新更新