You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django运行服务器报错:ModuleNotFoundError: No module named 'requests'

解决Django启动时找不到requests模块的问题

你遇到的核心问题是Python环境不匹配:你用sudo pip3安装的requests存放在普通用户的.local目录里,但启动Django时使用的Python解释器并没有读取这个路径,或者指向了另一个独立的环境。下面是具体的排查和解决步骤:

1. 确认Django使用的Python版本与pip对应

先搞清楚你启动Django时用的是哪个Python解释器:

  • 如果你用python manage.py runserver启动,运行which python查看路径;如果是python3,就运行which python3。
  • 再运行which pip3,对比两个路径是否属于同一个Python环境。比如python3路径是/usr/bin/python3,但pip3指向/home/sadegh-khan/.local/bin/pip3,说明pip安装的包在用户目录,但系统Python可能读不到。

解决办法:直接用对应Python的内置pip安装,确保包进入Django使用的环境:

python3 -m pip install requests

(把python3换成你启动Django时用的命令,比如python)

2. 检查是否启用了虚拟环境

如果你的Django项目用了虚拟环境(比如venv、virtualenv),必须先激活虚拟环境再安装requests,否则包会装到全局环境里,虚拟环境内依然找不到:

  • Linux/macOS激活命令:
source 你的虚拟环境目录/bin/activate
  • 激活后运行pip install requests,再启动Django即可。

3. 避免用sudo安装用户级包

sudo pip3会以root权限安装包,可能导致包被放到root的Python环境中,普通用户运行Django时无法访问。后续安装包尽量不用sudo,而是用--user参数安装到用户目录:

pip3 install requests --user

你已经安装过了,重点是确保Django用的Python能读取这个目录。

4. 验证Python路径是否包含requests的安装目录

运行下面的命令,查看当前Python解释器的搜索路径:

python3 -c "import sys; print('\n'.join(sys.path))"

检查输出里有没有/home/sadegh-khan/.local/lib/python3.6/site-packages。如果没有,可以临时设置PYTHONPATH再启动Django:

export PYTHONPATH="/home/sadegh-khan/.local/lib/python3.6/site-packages:$PYTHONPATH"
python3 manage.py runserver

也可以把这个路径加到你的bashrc/zshrc里,实现永久生效。


内容的提问来源于stack exchange,提问作者Sadegh-khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:45:24