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

conda虚拟环境安装Django后运行脚本仍提示ModuleNotFoundError求助

解决脚本运行时找不到Django模块的问题

我之前也碰到过一模一样的情况,明明虚拟环境里装了Django,直接进Python交互模式能导入,但一跑脚本就报ModuleNotFoundError,大概率是脚本调用的Python解释器不是你激活的虚拟环境里的那个,给你几个排查和解决的步骤:

1. 确认脚本使用的Python解释器路径

首先,在已经激活MyDjangoEnv的控制台里,先拿到虚拟环境的Python路径:

  • Mac/Linux 运行:which python
  • Windows 运行:where python

你会得到类似这样的路径:/Users/xxx/miniconda3/envs/MyDjangoEnv/bin/python(Mac)或者C:\Users\xxx\miniconda3\envs\MyDjangoEnv\Scripts\python.exe(Windows)

然后在你的pop_script.py脚本最顶部加上一行shebang(仅限Mac/Linux):

#!/Users/xxx/miniconda3/envs/MyDjangoEnv/bin/python

这样脚本会强制使用这个路径下的Python解释器,也就是你装了Django的虚拟环境版本。

2. 直接用虚拟环境Python路径运行脚本

如果不想改脚本,也可以直接用虚拟环境的Python来执行脚本,比如:

/Users/xxx/miniconda3/envs/MyDjangoEnv/bin/python pop_script.py

这样能确保百分百用的是虚拟环境里的Python,不会和系统默认的混淆。

3. 对比交互模式和脚本的Python路径

如果还是不确定,你可以在脚本里加两行代码:

import sys
print("脚本使用的Python路径:", sys.executable)

然后先在激活环境的控制台里直接运行Python,输入同样的代码,对比两个路径是否一致。如果不一样,说明运行脚本时没用到虚拟环境的Python,这时候就要检查你的终端环境是不是真的激活了MyDjangoEnv,或者有没有其他工具(比如IDE)自动切换了环境。

4. 确认Django确实装在虚拟环境里

最后再确认下,激活环境后运行pip list,看看列表里有没有Django,版本是不是你安装的那个,避免不小心装到系统环境里去了。

内容的提问来源于stack exchange,提问作者nostradamus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:13:46