Reputation: 468
I am working on a bug project. Which is on Python 2.7, we are migrating to Python 3.9. I am getting import errors in manage.py during importfrom django.core.management import execute_from_command_line
.
For python 2.7 it is fine but for python 3 it is not working.
I've created separate virtual environment for Python 3.
manage.py
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "best_buy_mall.settings")
try:
from django.core.management import execute_from_command_line
except ImportError:
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)
dir tree: my_app/django_site/manage.py
my_app/venv (for python2)
my_app/v_env (for python3)
Upvotes: 0
Views: 1561
Reputation: 468
sudo pip install django --upgrade
I solved this by upgrading django. and if someone getting psycopg2 error, then run
sudo pip install psycopg2 --upgrade
or install psycopg-binary
sudo pip install psycopg2-binary --upgrade
Upvotes: 1