Mac中 python django数据库迁移报错问题,如何解决?

 在mac的终端中输入python 显示版本3.8。sys.path是 '/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip'import django会报错No module named 'django'。

输入pip3 -V显示/Users/name/opt/anaconda3/lib/python3.8/site-packages/pip (python 3.8)

因此使用pip安装django会安装到"/Users/name/opt/anaconda3/lib/python3.8/site-packages"
在终端中打开python写入sys.path.append("/Users/name/opt/anaconda3/lib/python3.8/site-packages")后再import django就不会报错。

 现在遇到的问题是桌面上有一个django的项目如果想将模型类同步数据库 python manage.py makemigrations和python manage.py migrate就会报错 No module named 'django'

请教一下这样的情况怎么办?

你把python manage.py改成/Users/name/opt/anaconda3/bin/python (指的是anaconda3下面的python) 试试。

你好,你使用的什么开发,pycharm有虚拟环境,建议你使用虚拟环境
如果你的pycharm是英文界面,参考下链接


,是中文的,直接参照下图 设置->项目->python解释器->添加->选择电脑中的python版本,虚拟环境位置即可,

img

img


添加环境是只需要在
设置->项目->python解释器点击加号搜索对应包即可完成添加

img

另外,在项目manage.py同级目创建一个python文件,代码如下,直接执行文件即可实现数据库迁移

import os

os.system("python manage.py makemigrations")
os.system("python manage.py migrate")

有帮助请点一下右上角的采纳,谢谢

1.是否使用ide开发(pycharm,vscode等),如果使用,看是否激活了虚拟环境;
2.确认是否启用虚拟环境,IDE的终端会显示是否启用

img


或者在终端输入

pip list

看是否存在django,如果不存在,可以用

pip install django
# 看你使用的是conda环境,也可以通过conda安装
conda install django

其实,不难;
出现这个问题,肯定就是环境的问题;
1、你本地的环境和运行的环境不一样;
2、pip安装的环境和运行的环境不一样;
3、只要你确保运行的环境一致即可解决