0
votes

I am running the following steps in Mac Terminal:

  1. sudo easy_install pip
  2. sudo pip install virtualenv
  3. virtualenv NameOfFolder
  4. cd NameOfFolder
  5. source bin/activate
  6. sudo pip install django
  7. django-admin startproject NameOfFolderSub1
  8. cd NameOfFolderSub1
  9. python manage.py runserver

At this last steps, it communicates this msg occurred:


Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Attempted to check the Django version using this command in Terminal:

python -m django --version
it confirmed that django is not there with the following msg:
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3: No module named django

What did I do wrong int he step-by-step installation above ?

Appreciate the help.

The code in manage.py is as follows:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xxx.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError:
        # The above import may fail for some other reason. Ensure that the
        # issue is really that Django is missing to avoid masking other
        # exceptions on Python 2.
        try:
            import django
        except ImportError:
            raise ImportError(
                "Couldn't import Django. Are you sure it's installed and "
                "available on your PYTHONPATH environment variable? Did you "
                "forget to activate a virtual environment?"
            )
        raise
    execute_from_command_line(sys.argv)
1
You probably should use pip3, and please do not use sudo, install it with pip3 install Django --user. - Willem Van Onsem
Since you have Python 3, the sudo easy_install pip/sudo pip install virtualenv/virtualenv NameOfFolder commands were not required. You can create the virtualenv with python3 -m venv NameOfFolder. Then install without sudo as Daniel suggests. - Alasdair

1 Answers

1
votes

You've done sudo pip install django. Don't do that. You're in a virtualenv; just install directly without sudo; and use pip3 instead of pip.