pip 找不到所需的版本

pip can't find required versions

我最近完成了一个在全新的 conda 环境中工作的项目。在开发过程中,我根据需要下载了软件包。我使用 pip freeze > requirements.txt 创建了一个 requirements.txt 文件。现在我正在尝试在 Web 服务器上重现该环境。此 Web 服务器自动调用 pip install -r requirements.txt 来下载所需的包。但是,此过程在

的许多依赖项上失败

ERROR: Could not find a version that satisfies the requirement ...

据我所知,requirements.txt 文件中列出的版本号比 PyPI 上的版本号高得多。

例如,requirements.txt 文件调用 mkl-fft==1.0.15(对 NumPy 的优化),但 PyPI 仅列出版本 1.0.6. The mkl-fft github,最高版本为 1.1。

我认为这是导致 "Could not find a version that satisfies..." 错误的差异。谁能确认一下?

我可以删除版本号,pip 将下载它能找到的最新版本,但我有 5-6 个这样的包。鉴于其他包需要这些版本(例如 numpy 与 mkl-fft 一起工作),版本不匹配会导致复制环境中的运行时失败。

是否有帮助 pip install 获取指定版本的修复程序?

确实,似乎 conda 提供的(某些)软件包的版本号比 pypi 提供的软件包高。例如,使用 mkl-fft:

如果您使用 conda 创建了开发环境,那么您的生产环境也应该基于 conda - 使用 conda list --export 来创建需求,并使用 conda create --name <envname> --file requirements.txt 来复制环境。