激活Conda环境后运行Python脚本提示No module named 'numpy'的问题咨询
激活Conda环境后运行Python脚本提示No module named 'numpy'的问题咨询
我来帮你捋捋这个问题,你遇到的情况其实挺常见——明明在conda环境里装了numpy,但跑脚本时就是找不到,核心原因大概率是终端运行脚本时没真正用上你激活的conda环境,下面给你几个排查和解决的实用方法:
第一步:先确认你真的在目标conda环境里
别着急找复杂原因,先核实当前终端会话是不是真的激活了你的目标环境:
- 运行
conda info --envs,看列表里带*标记的是不是你创建的那个环境; - 再跑
which python,输出的路径应该是你conda环境下的python(比如/Users/xxx/miniconda3/envs/your_env_name/bin/python),如果显示的是/usr/bin/python或者/Users/anaconda3/bin/python(base环境路径),那说明你当前用的根本不是目标环境的python。
第二步:检查conda环境激活是否真的生效
有时候看似激活了环境,但其实没起作用:
- 如果是第一次在这个终端用conda,可能得先初始化conda,比如运行
conda init zsh(bash就换成conda init bash),然后重启终端再激活环境; - 激活环境时用新版命令:
conda activate 你的环境名,别用旧的source activate,虽然旧命令也能跑,但新版conda更推荐前者。
第三步:确认目标环境里确实装了numpy
你说conda install numpy显示已安装,但说不定是在base环境里装的,目标环境其实没装?
- 先激活你的目标环境,然后运行
conda list numpy,看看输出里有没有numpy的条目; - 如果没有,就重新在激活的环境里装一次:
conda install numpy,这次一定要确保是在目标环境激活后执行的。
第四步:直接用conda环境的python路径运行脚本
要是上面的方法都没解决,最直接的办法就是跳过终端的默认python指向,直接用conda环境里的python来跑脚本:
- 激活环境后,用
which python拿到环境里的python路径; - 用这个路径运行脚本:
/你的conda环境python路径/python script.py,比如/Users/xxx/miniconda3/envs/my_env/bin/python script.py。
第五步:检查终端的python别名设置
有时候终端里的python被设置了别名,指向了系统python或者其他版本:
- 运行
alias python,如果输出类似alias python='/usr/bin/python3',那说明你的python命令被别名覆盖了,这时候可以试试用python3运行脚本,或者取消别名:unalias python,再激活环境试试。
备注:内容来源于stack exchange,提问作者Morcus
相关产品推荐
相关产品推荐

