0

I have installed django 1.6 using pip on Windows 7. When I try to run django-admin.py, I get this error

C:\django-admin.py startproject test007

Traceback (most recent call last):

File "C:\Python27\Scripts\django-admin.py", line 2 in ?
from django.core import management
File "C:\Python27\Lib\site-packages\django\core\management\__init__.py", line 55
except ImportError as e:
                 ^
SyntaxError: invalid syntax

in the \management__init__.py, the imports are

import collections
import os
import sys
from optparse import OptionParser, NO_DEFAULT
import imp

from django.core.exceptions import ImproperlyConfigured
from django.core.management.base import BaseCommand, CommandError, handle_default_options
from django.core.management.color import color_style
from django.utils.importlib import import_module
from django.utils import six

# For backwards compatibility: get_version() used to be in this module.
from django import get_version

Here's the relevant block from the same file

    parts = app_name.split('.')
    parts.append('management')
    parts.reverse()
    part = parts.pop()
    path = None

    # When using manage.py, the project module is added to the path,
    # loaded, then removed from the path. This means that
    # testproject.testapp.models can be loaded in future, even if
    # testproject isn't in the path. When looking for the management
    # module, we need look for the case where the project name is part
    # of the app_name but the project directory itself isn't on the path.
    try:
        f, path, descr = imp.find_module(part, path)
    except ImportError as e:
        if os.path.basename(os.getcwd()) != part:
            raise e
    else:
        if f:
        f.close()

    while parts:
        part = parts.pop()
        f, path, descr = imp.find_module(part, [path] if path else None)
        if f:
            f.close()
    return path

in which the same line 55 from the traceback is in the try/except block towards the bottom. I've uninstalled and reinstalled but, to no avail.

It works when I give the/full/path/to/django-admin.py but it shouldn't be required.

askance
  • 1,077
  • 4
  • 14
  • 19
  • @Bibhas - It is common usage in Python to use try-except-else blocks - see this answer [link](http://stackoverflow.com/questions/16138232/is-it-a-good-practice-to-use-try-except-else-in-python) – askance Mar 27 '14 at 18:26
  • You have to use the full path because of the imports and the other files that it's trying to look up. – Aaron Lelevier Mar 27 '14 at 20:40
  • @Aron - I made a similar install on another win-7 machine and there I don't need to use the full path. So, am not sure why it's complaining about an in-built django script on this machine. – askance Mar 27 '14 at 20:49

0 Answers0