I'm totally confounded on this one. For some reason, when using twistd, web2 cannot be found by the interpreter. (I'm running Twisted SVN HEAD on pythonmac's Python 2.4 on Mac OS X.)

For example, I've got the following code in a file called twisted.py


    from twisted.web2 import server, channel, static, wsgi

    def handler(env, start_response):
        pass

# This part gets run when you run this file via: "twistd -noy modu/web/twisted.py"
    root = wsgi.WSGIResource(handler)
    site = server.Site(root)

    # Start up the server
    from twisted.application import service, strports
    application = service.Application("web2")
    s = strports.service('tcp:8888', channel.HTTPFactory(site))
    s.setServiceParent(application)


When running it (with twistd -noy twisted.py), I get:


    Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/Current/ bin/twistd", line 20, in ?
        from twisted.scripts.twistd import run
      File "/Users/phil/Desktop/twisted.py", line 1, in ?
        from twisted.web2 import server, channel, static, wsgi
    ImportError: No module named web2


This is a standard Twisted installation using `python setup.py install`, and web2 is clearly in my site-packages directory:


optimus:~ phil$ ls -la /Library/Frameworks/Python.framework/ Versions/2.4/lib/python2.4/site-packages/twisted/web2
    total 1272
    drwxr-xr-x   54 root  admin   1836 Jul 24 10:54 .
    drwxr-xr-x   36 root  admin   1224 Jul 24 10:54 ..
    -rw-r--r--    1 root  admin    254 Jun 29  2006 __init__.py
    -rw-r--r--    1 root  admin    371 Jul 24 10:54 __init__.pyc
    ...
    ...


Even stranger is that twistd doesn't seem to have any problems finding/loading the web2 plugin


    optimus:~ phil$ twistd
    Usage: twistd [options]
    ...
    ...
    ...
    Commands:
web2 An HTTP/1.1 web server that can serve from a filesystem or
                         application resource.
    ...
    ...
    ...


And when running the exact interpreter path specified in twistd, there are no problems either:


    optimus:~ phil$ which twistd
    /Library/Frameworks/Python.framework/Versions/Current/bin/twistd

optimus:~ phil$ head -n 1 /Library/Frameworks/Python.framework/ Versions/Current/bin/twistd #!/Library/Frameworks/Python.framework/Versions/2.4/Resources/ Python.app/Contents/MacOS/Python

optimus:~ phil$ /Library/Frameworks/Python.framework/Versions/ 2.4/Resources/Python.app/Contents/MacOS/Python
    Python 2.4.3 (#1, Apr  7 2006, 10:54:33)
    [GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
    >>> from twisted.web2 import server
    >>>


I had this same issue on my other development machine, also a Mac, but I assumed it was some kind of configuration issue with that machine in particular.

Has anyone had a similar experience? Any help in this matter would be appreciated.

-phil

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to