已安装sqlparse仍报ModuleNotFoundError,Django执行makemigrations失败怎么办?
报错原因
- 你运行Django项目使用的Python解释器为
C:\Users\zesha\AppData\Roaming\Python\Python39\下的全局Python 3.9,而此前执行的pip install sqlparse/pip3 install sqlparse/conda install sqlparse命令,均未将依赖安装到该解释器对应的site-packages目录下,因此运行项目时无法识别到已安装的sqlparse包。 - 你当前终端虽然激活了conda的
New4虚拟环境,但调用python命令时优先加载了全局的Python 3.9,而非conda环境内的Python解释器,出现了环境调用不匹配的问题。
解决方案
你可以任选以下任意一种方法解决问题:
方案1:直接给当前运行项目的Python解释器安装依赖
执行以下命令,指定使用你正在运行项目的Python 3.9解释器安装sqlparse:
C:\Users\zesha\AppData\Roaming\Python\Python39\python.exe -m pip install sqlparse
安装完成后重新执行迁移命令即可。
方案2:统一使用conda的New4环境运行项目
- 确认终端已激活
New4环境(终端前缀带有(New4)标识即为激活成功) - 执行以下命令调用conda环境内的Python运行迁移,避免调用全局Python:
conda run -n New4 python manage.py makemigrations
如果后续要避免每次都写全命令,可以将New4环境的Python路径调整到系统环境变量的最顶部,确保调用python时优先加载conda环境内的版本。
内容的提问来源于stack exchange,提问作者NobinPegasus
相关产品推荐
相关产品推荐

