Tzach Tzach - 1 year ago 253
Python Question

Django 1.7 on App Engine "ImportError: No module named msvcrt"

I'm trying to upgrade Django to version 1.7 on a Google App Engine development server running on my Windows machine.

When trying to load the app, I get the following exception from


ImportError: No module named msvcrt

The relevant code lines are:

if == 'nt':
import msvcrt

I guess the exception is raised because App Engine's dev server doesn't supply a version of msvcrt, but because my dev machine is Windows, is still

Is there a solution or a workaround for this?

Relevant stacktrace:

File "...\django\core\files\", line 30, in <module>
import msvcrt
File "D:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\", line 852, in load_module
raise ImportError('No module named %s' % fullname)

Answer Source

Just found a workaround. In add the following lines:

import os

on_appengine = os.environ.get('SERVER_SOFTWARE','').startswith('Development')
if on_appengine and == 'nt': = None

I'm still looking for a less hackish solution.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download