google-app-enginenoseteststipfy

tipfy nosetest ImportError: No module named fancy_urllib


I am trying to run nosetest using tipfy and google app engine but I keep getting an import error:

From the google_appengine directory I execute the following command (directory contains dev_appserver.py):

nosetests /Users/me/Documents/python/project/ --with-gae --without-sandbox

but I get the following error:

Traceback (most recent call last):
  File "/usr/local/bin/nosetests", line 8, in <module>
    load_entry_point('nose==0.11.4', 'console_scripts', 'nosetests')()
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/core.py", line 117, in __init__
    **extra_args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/unittest.py", line 816, in __init__
    self.parseArgs(argv)
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/core.py", line 134, in parseArgs
    self.config.configure(argv, doc=self.usage())
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/config.py", line 323, in configure
    self.plugins.configure(options, self)
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/plugins/manager.py", line 270, in configure
    cfg(options, config)
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/plugins/manager.py", line 93, in __call__
    return self.call(*arg, **kw)
  File "/Library/Python/2.6/site-packages/nose-0.11.4-py2.6.egg/nose/plugins/manager.py", line 161, in simple
    result = meth(*arg, **kw)
  File "build/bdist.macosx-10.6-universal/egg/nosegae.py", line 84, in configure
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 51, in <module>
    import fancy_urllib
ImportError: No module named fancy_urllib

I can load the tipfy hello_world project without any errors and I have other app engine projects on the same machine, all running fine.

Using a mac os x 10.6.6 and I have both nose and nosegae installed. I have also tried to execute the same command from within the /Users/me/Documents/python/project/ folder but I get the same result


Solution

  • I had the same problem and here is my quick fix:

    Modify this file "/usr/local/bin/dev_appserver.py"

    ......
    if version_tuple == (2, 4):
      sys.stderr.write('Warning: Python 2.4 is not supported; this program may '
                       'break. Please use version 2.5 or greater.\n')
    #Start Change
    #DIR_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
    DIR_PATH = "/usr/local/google_appengine"
    #End Change
    
    SCRIPT_DIR = os.path.join(DIR_PATH, 'google', 'appengine', 'tools')
    ......
    

    Works for me so far.