在conda虚拟环境下安装了pytorch 0.4.1,但执行python却调用了.local下的pytorch 1.2.0
原因在于python导包顺序不对,查看sys.path,发现.local下pytorch在虚拟环境的pytorch之前
解决方案:用-s运行python脚本,即执行
python -s
-s会忽略用户下的site-package(具体原因在链接),这样就可以跳过.local而调用虚拟环境中的pytorch。
##########################################################################
更好的解决方法:去除.local路径,参考conda 虚拟环境python的sys.path包含了~/.local/lib,如何解决? - 知乎
修改虚拟python环境下site.py中的USER_SITE的路径
进入虚拟环境,输入python -m site 可以查看默认的库路径
输入python -m site -help 可以查看site.py的路径,修改USER_SITE的值为该虚拟环境的库的路径
修改的值为
USER_SITE='~/anaconda3/envs/py38/lib/python3.8/site-packages'