Django用のプロジェクトを作成時に、migrateした時に下記のようなエラーが発生した。
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?
色々と確認してみた
確認項目
・conda activateで切り替わっているのは確認済み
・djangoもインストール済
djangoのインストール先を確認してみる
> pip show django
このコマンドでLocationの行にインストール先が出るので、その内容をみてみましょう。
- Name: Django
- Version: 3.0.7
- Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
- Home-page: https://www.djangoproject.com/
- Author: Django Software Foundation
- Author-email: foundation@djangoproject.com
- License: BSD
- Location: /opt/anaconda3/envs/xxxxxx/lib/python3.8/site-packages
- Requires: pytz, asgiref, sqlparse
- Required-by: djangorestframework-simplejwt, django-ses, django-cors-headers
xxxxxxの箇所には、仮想環境名が入ります。
mac環境の方であれば、pathは基本同じです。
pipでのpathとpythonとの参照先にズレがあるか確認する。
import sys;
print(sys.path)
この形で表示されれば問題ない。
[”, ‘/opt/anaconda3/envs/xxxxxx/lib/python38.zip’, ‘/opt/anaconda3/envs/xxxxxx/lib/python3.8’, ‘/opt/anaconda3/envs/xxxxxx/lib/python3.8/lib-dynload’, ‘/opt/anaconda3/envs/xxxxxx/lib/python3.8/site-packages’]
以下の形だとローカル環境のpythonが参照されている→再起動をする必要あり
[”, ‘/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python39.zip’, ‘/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9′, ‘/usr/local/Cellar/python@3.9/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload’, ‘/usr/local/lib/python3.9/site-packages’, ‘/usr/local/Cellar/protobuf/3.14.0/libexec/lib/python3.9/site-packages’]
再起動してもダメな場合には、仮想環境を作り直します。