twistedpypytwistd

Running twistd with Pypy


I'm trying Pypy because it shows impressive benchmarks over CPython. Also, I'm mostly using the Twisted library in my code. I can now run a benchmark script which uses the Twisted reactor so I guess my setup is good. However, I do not know how to run the Twisted daemonizer (twistd) using Pypy.


Solution

  • You can either do it explicitly at run-time:

    ~$ /usr/bin/pypy /usr/bin/twistd ...
    

    This works because it specifically starts PyPy and tells it to start interpreting the twistd script.

    Or you can do it persistently at install-time:

    ~/Twisted-11.0.0$ /usr/bin/pypy setup.py install
    

    This works because distutils (what setup.py uses) rewrites the #! line of each script it installs to point to the interpreter used to do the installation. So #!/usr/bin/env python in the installation source becomes #!/usr/bin/pypy in the installed copy.