Re: CorePost 0.0.7 - all about content types
Jarosław Fedewicz <[email protected]>
| Newsgroups | gmane.comp.python.twisted.web |
|---|---|
| Message-ID | <[email protected]> |
On Sep 30, 2011, at 16:55 , [email protected] wrote: > On 01:18 pm, [email protected] wrote: >> And once I reach 0.1 with all of these features, I will post some blog >> entries about this together with PyPy benchmarks...so that people don't >> think >> Javascript / Node.js is your only option when it comes to async I/O web >> frameworks :-) >> >> BTW, is there any progress on getting Twisted to install under PyPy in >> the >> near future? I know you guys have been looking into it.... > > http://twistedmatrix.com/trac/ticket/5158 is resolved now. If there are > still problems with Twisted trunk@HEAD on PyPy, please let us know. :) > There are in fact some problems. $ sudo pypy-c ./setup.py install running install running bdist_egg running egg_info writing top-level names to Twisted.egg-info/top_level.txt writing requirements to Twisted.egg-info/requires.txt writing dependency_links to Twisted.egg-info/dependency_links.txt writing Twisted.egg-info/PKG-INFO writing manifest file 'Twisted.egg-info/SOURCES.txt' installing library code to build/bdist.macosx-10.6-i386/egg running install_lib running build_py running build_ext cc -arch i386 -fPIC -Wimplicit -I/opt/local/lib/pypy/include -c conftest.c -o conftest.o building 'twisted.runner.portmap' extension cc -arch i386 -fPIC -Wimplicit -I/opt/local/lib/pypy/include -c twisted/runner/portmap.c -o build/temp.macosx-10.6-i386-2.7/twisted/runner/portmap.o twisted/runner/portmap.c:10:20: error: Python.h: No such file or directory twisted/runner/portmap.c:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token twisted/runner/portmap.c:31: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token twisted/runner/portmap.c:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PortmapMethods’ twisted/runner/portmap.c: In function ‘initportmap’: twisted/runner/portmap.c:55: warning: implicit declaration of function ‘Py_InitModule’ twisted/runner/portmap.c:55: error: ‘PortmapMethods’ undeclared (first use in this function) twisted/runner/portmap.c:55: error: (Each undeclared identifier is reported only once twisted/runner/portmap.c:55: error: for each function it appears in.) I have PyPy 1.6 with cpyext. This patch seems to fix the C extensions errors: Index: twisted/topfiles/setup.py =================================================================== --- twisted/topfiles/setup.py (revision 32705) +++ twisted/topfiles/setup.py (working copy) @@ -37,10 +37,11 @@ condition=lambda _: _isCPython and sys.platform == "win32"), Extension("twisted.python._initgroups", - ["twisted/python/_initgroups.c"]), + ["twisted/python/_initgroups.c"], + condition=lambda _: _isCPython), Extension("twisted.internet._sigchld", ["twisted/internet/_sigchld.c"], - condition=lambda _: sys.platform != "win32"), + condition=lambda _: _isCPython and sys.platform != "win32"), ] # Figure out which plugins to include: all plugins except subproject ones Index: twisted/runner/topfiles/setup.py =================================================================== --- twisted/runner/topfiles/setup.py (revision 32705) +++ twisted/runner/topfiles/setup.py (working copy) @@ -1,6 +1,8 @@ # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. +from twisted.python.dist import _isCPython + try: from twisted.python.dist import setup, ConditionalExtension as Extension except ImportError: @@ -11,7 +13,7 @@ extensions = [ Extension("twisted.runner.portmap", ["twisted/runner/portmap.c"], - condition=lambda builder: builder._check_header("rpc/rpc.h")), + condition=lambda builder: _isCPython and builder._check_header("rpc/rpc.h")), ] if __name__ == '__main__': however, setuptools trigger GC mis(?)behaviour in PyPy and setup fails: .... lots of logging snipped Extracting Twisted-11.0.0_r32705-py2.7-macosx-10.6-i386.egg to /opt/local/lib/pypy/site-packages error: /opt/local/lib/pypy/site-packages/Twisted-11.0.0_r32705-py2.7-macosx-10.6-i386.egg/twisted/enterprise/row.pyc: Too many open files This error is known to PyPy guys, they, however, insist that setuptools are wrong and not them. Which sounds totally wrong to me, but again, who am I to judge.