Docker构建Biopython报错:已装Python3.10却检测到Python2.7
错误原因解析
这个报错的核心问题是:你执行的pip命令实际绑定的是Ubuntu18.04默认的Python2.7版本,而非你安装的Python3.10。
Ubuntu18.04系统默认预装Python2.7,即便你手动安装了Python3.10和python3-pip,系统里的pip命令依然默认关联Python2的pip工具。当你运行RUN pip install biopython时,调用的是Python2的pip,而Biopython早已停止支持Python2.7,因此触发版本检测报错。
验证方式
你可以在Dockerfile中添加以下命令,确认当前pip绑定的Python版本:
RUN pip --version RUN python --version
执行后会看到输出明确显示pip对应的是Python2.7,而非你安装的3.10版本。
解决方法
- 直接指定Python3.10对应的pip命令:把
RUN pip install biopython改成RUN pip3.10 install biopython - 或者将Python3.10设为系统默认版本,同步更新
pip绑定:
完成上述配置后,再执行RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 RUN update-alternatives --install /usr/bin/pip pip /usr/bin/pip3.10 1RUN pip install biopython就会调用Python3.10的pip工具,不会再触发版本错误。
内容的提问来源于stack exchange,提问作者pubsurfted
相关产品推荐
相关产品推荐

