如何安装冲突软件包?Anaconda多版本下user-agents安装报错求助
解决Anaconda多Python版本下user-agents的依赖冲突问题
这种同时装了Python 2.7和3.x的Anaconda base环境里出现依赖冲突太常见了,给你几个靠谱的解决办法:
方法1:用pip替代conda安装
conda的包依赖校验有时候会比pip严格很多,而user-agents这个包用pip安装的话兼容性更好。直接在终端运行:
# 如果你要给Python 3安装 pip3 install user-agents # 给Python 2.7安装的话用 pip2 install user-agents
如果你的环境变量里pip默认对应Python 3,直接用pip install user-agents也可以。
方法2:创建独立虚拟环境(推荐)
base环境里堆了太多不同版本的包,很容易出现依赖打架的情况。最好给不同的Python版本或项目单独建虚拟环境:
# 创建一个Python 3的虚拟环境(版本号可以换成你需要的) conda create -n py3_env python=3.10 # 激活环境 conda activate py3_env # 现在安装user-agents,不管用conda还是pip都不会和base环境冲突了 conda install user-agents # 或者用pip pip install user-agents
如果需要给Python 2.7安装,把创建命令改成conda create -n py27_env python=2.7就行,激活后再装包。
方法3:尝试降级zict(谨慎使用)
如果一定要在base环境里解决,你可以先看看当前zict的版本:
conda list zict
然后尝试安装一个和user-agents兼容的zict版本,比如:
conda install zict=2.1.0
不过这个方法有风险,因为base环境里其他包可能依赖当前的zict版本,降级后可能引发新的冲突,所以优先前两个方法。
本质上是因为conda的user-agents包依赖的zict版本和你base环境里已有的zict版本不兼容,而同时维护Python 2和3的base环境本来就容易出现这种依赖矛盾,虚拟环境是最稳妥的解决方案。
内容的提问来源于stack exchange,提问作者ℕʘʘḆḽḘ




