跟随《Python编程从入门到实践》书籍学习用python开发web应用程序,从Django入手,然而从在Django中创建项目就遇到了错误: from django.core.management import execute_from_command_line ModuleNotFoundError: No module named 'django'
以下记录错误的解决过程,希望对你有帮助~
Ps: 错误出现在第四步
一、建立虚拟环境并激活
为项目新建一个目录,命名为learning_log, 在这个目录下,创建一个虚拟环境并激活:
python3 -m venv ll_env
source ll_env/bin/activate
二、安装Django
pip3 install --upgrade pip
pip3 install django
由图可知安装的版本号为: pip-24.1.1, django-5.0.6
三、在Django中创建项目
在虚拟环境依然处于活动状态下,执行如下命令新建项目:
(ll_env) 192➜ learning_log ᐅ django-admin startproject ll_project .
(ll_env) 192➜ learning_log ᐅ ls
ll_env ll_project manage.py
(ll_env) 192➜ learning_log ᐅ ls ll_project
__init__.py asgi.py settings.py urls.py wsgi.py
注意第一行命令后面的“.”
到这一步都成功进行了,问题出现在下一步。
四、创建数据库(问题出现的步骤)
Django 将⼤部分与项⽬相关的信息存储在数据库中,因此需要创建⼀个供Django 使⽤的数据库。在虚拟环境处于活动状态的情况下执⾏下⾯的命令:
python manage.py migrate
出现了如下错误:
五、问题排查及解决方案
1. 验证Django是否已正确安装
输入如下命令查看:
python -m django --version
返回/usr/local/bin/python3: No module named django
这个问题表明在激活虚拟环境后,仍然使用的是系统的Python解释器,而不是虚拟环境中的Python解释器。
2.检查Python解释器路径:
激活虚拟环境后,运行以下命令以确认使用的是虚拟环境中的Python解释器:
which python
这应该返回虚拟环境中的Python路径,例如:/Users/xxx/Projects/learning_log/venv/bin/python
3.检查pip安装路径:
确认pip安装的位置也是在虚拟环境中:
which pip
这应该返回虚拟环境中的pip路径,例如:/Users/xxx/Projects/learning_log/venv/bin/pip
4.检查结果发现问题:
这里的python路径不符合预期。
5. 解决Python解释器路径问题
(1)查看是否有Python别名:
alias
如果看到类似于alias python='/usr/local/bin/python3'的别名,需要取消这个别名。
(2)取消与Python相关的别名:
unalias python
(3)取消别名后,重新激活虚拟环境:
source ll_env/bin/activate
(4)再次检查Python解释器的路径:
which python
返回虚拟环境中的Python路径就表示正确了~如下图:
六、再次执行第四步操作(问题已解决~)
python manage.py migrate
成功~~:)