On 2009.11.20 13:33:24 -0800, David Ripton wrote:
On 2009.11.19 22:13:46 -0500, Christopher Armstrong wrote:
Hey guys. I've done an initial cut of Twisted 9. Please check out these tarballs and tell me whether or not you find any regressions or other release-related problems.
The release notes are here:
The tarballs are here:
Please post a message even if you don't have any problems.
I just replaced Twisted 8.2.0 with 9.0.0pre1 in my local Git repo at work, and did a full build of our product, and then ran the bits that use Twisted (we use the core and the gtk2 reactor and AMP, on RHEL), and nothing obviously weird or bad happened. Bor-ing! Maybe try fewer unit tests next time, to add more excitement to the upgrade process?
It also installed effortlessly and worked perfectly on Gentoo x86 and Ubuntu amd64. The only difference I actually noticed from 8.2 was the lack of deprecation warnings from Python 2.6.
(Skip to the bottom if you don't care about the detailed pain of installing Twisted from source on Windows.)
Then I tried to install it on Windows XP. "python setup.py install" whines about a missing vcvars.bat. I think that means I need to install a C compiler. I download Visual C++ 2008 Express Edition with Service Pack 1 from microsoft.com. Huge license agreement, tiny window, making it almost impossible to actually read it all. Fearing all that legalese, I abort the install and fetch my seven-year-old daughter and ask her to install it, thus preserving my right to someday publish benchmarks of SQL Server without Microsoft's permission. (Yes, it would be cruel to preserve my own rights while sacrificing hers, but she's too young to sign legally binding contracts.) Then we wait forever for the world's slowest installer. (Express Edition. Heh.) It finally finishes and then tells her to reboot. I thank her and send her back to playing.
I rerun Twisted's "python setup.py install" I see some errors about missing epoll.h, but the install continues.
I finally start up my game server. "To Help Protect My Computer, Windows Firewall has blocked some features of this program." (Funny, it doesn't pop up that same warning if someone tries to use IE or Outlook.) I unblock python. I see deprecation warnings for md5, that I thought were fixed in Twisted 9. So maybe I'm still running 8.2. I start python, import twisted, and print twisted.version. 9.0.0pre1. But I might have a mixed version install, so I go to Add/Remove Programs and uninstall Twisted 8.2, then run "python setup.py install" again to reinstall Twisted 9.
I start my game server again, and get "No module named zope.interface" I guess the Twisted 8.2 binary installer installed it for me and when I uninstalled it I lost it, so now I need to install it myself. I fetch a zope interface tarball, gunzip it, untar it, and run "python setup.py install" on it.
I start my game server again, and get "ImportError: No module named pkg_resources." I go back to the Twisted directory and redo "python setup.py install" Same error. So I guess the zope interface install failed in some odd way without warning.
I go back to the zope interface page, and see a note that says to just use the .exe installer on Windows. But there isn't one. I hunt around the zope site for several minutes and fail to find one. (There's one for all of zope, but that seems like overkill.) I go to PyPI and find a zope interface egg for Windows. I double-click on the egg and Windows has no idea what it is. I go to PyPI and find a setuptools .exe installer, install that, then use setuptools' ez_setup.py to install the Zope Interface egg. And then Twisted 9.0.0pre1 works fine.
So the moral of the story is that installing software from source on Windows really is way too hard, and Windows users really do need binary installers. But Twisted 9 did eventually work for me on Windows.