在Docker镜像中安装Flask-User时pip找不到匹配版本的问题求助
问题:Docker环境(基于python:3.9-bullseye镜像)中无法安装Flask-User
我的requirements.txt包含多个软件包,但只有Flask-User无法安装,报错信息如下:
ERROR: Could not find a version that satisfies the requirement Flask-User (from versions: 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.4.8, 0.4.9, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8, 0.6.9, 0.6.10, 0.6.12, 0.6.13, 0.6.14, 0.6.15, 0.6.16, 0.6.17, 0.6.19, 0.6.20, 0.6.21, 1.0.1.1, 1.0.1.2, 1.0.1.3, 1.0.1.4, 1.0.1.5, 1.0.2.0, 1.0.2.1, 1.0.2.2) ERROR: No matching distribution found for Flask-User
我没有指定Flask-User的版本号,请问如何在该Docker环境中成功安装?
解决方案
1. 明确指定兼容Python3.9的Flask-User版本
报错中列出的最新版本1.0.2.2支持Python3.9,直接在requirements.txt中指定该版本:
Flask-User==1.0.2.2
对应的Dockerfile安装指令保持常规即可:
FROM python:3.9-bullseye COPY requirements.txt /app/ WORKDIR /app RUN pip install --no-cache-dir -r requirements.txt
2. 迁移至官方替代包Flask-User2
原Flask-User已停止维护,官方推荐使用后续迭代的Flask-User2,它完全支持Python3.6及以上版本(包括3.9)。修改requirements.txt:
Flask-User2
若需要固定版本,可指定:
Flask-User2==1.0.3
3. 升级pip后再安装
部分旧版pip可能存在版本匹配逻辑问题,在Dockerfile中先升级pip再执行安装:
FROM python:3.9-bullseye COPY requirements.txt /app/ WORKDIR /app RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
内容的提问来源于stack exchange,提问作者Standard
相关产品推荐
相关产品推荐

