Conda环境下pip安装requirements.txt耗时过长及依赖冲突求助
解决conda环境中pip安装旧版本依赖的耗时与冲突问题
核心问题分析
你的requirements.txt里全是固定旧版本的依赖包,新版pip的依赖解析器需要遍历大量版本组合来寻找完全兼容的搭配,所以耗时极长;而旧版解析器会忽略冲突直接安装,导致后续运行时出现依赖不兼容错误。
分步解决方案
创建干净的conda环境
避免原有环境的残留包干扰,选择符合tensorflow 2.4.1要求的Python版本(3.6-3.8,推荐3.8):conda create -n my_env python=3.8 -y conda activate my_env用conda优先安装部分依赖
conda的依赖解析对旧版本包的兼容性处理更高效,先装这些基础包:conda install numpy=1.19.5 pandas=1.2.2 scipy=1.6.0 scikit-learn=0.24.1 matplotlib=3.3.4 seaborn=0.11.1 sympy=1.7.1 pytest=6.2.2 tqdm=4.57.0 ipywidgets=7.6.3 notebook=6.2.0 widgetsnbextension=3.5.1 jupyter=1.0.0 -y手动处理冲突的量子计算相关包
pennylane-cirq==0.14.0依赖cirq-core=1.1.0,而该版本要求networkx=2.4,手动指定版本避免被升级:pip install pennylane==0.16.0 pennylane-cirq==0.14.0 cirq-core==1.1.0 networkx==2.5安装剩余包并解决pydantic冲突
旧版本依赖需要typing-extensions<=3.7.4.3,指定pydantic的兼容旧版本:pip install amazon-braket-pennylane-plugin==1.1.0.post1 cvxopt==1.2.6 cvxpy==1.1.11 dill==0.3.3 jupytext==1.10.2 Mosek==9.2.40 sklearn==0.0 keras==2.4.3 tensorflow==2.4.1 rsmf==0.2 pydantic==1.9.2 typing-extensions==3.7.4.3
验证安装
安装完成后,运行以下命令检查是否有冲突:
pip check
如果没有报错,说明依赖兼容。
内容的提问来源于stack exchange,提问作者sarika
相关产品推荐
相关产品推荐

