诗歌无法找到依赖的版本,即使它存在

2024-04-25 06:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在poetry中将我的python版本从3.7升级到3.8时,重新安装所有依赖项失败,出现以下版本:

ERROR: No matching distribution found for...

该版本的发行版可在pypa上获得,通常是最新版本

简单地删除有问题的包并不能解决这个问题,因为其他包很可能会失败。经过一些调查,poetry似乎并没有使用pip3安装在底层,而是使用pip2.7

事实上,这是由弃用警报支持的,如果我尝试使用pip(全局或其他方式)而不是pip3安装同一版本,则错误总是可以重现的

这个问题令人沮丧,仅删除venv似乎没有帮助。我如何解决这个本来不应该存在的依赖性问题


Tags: pipno版本forpoetrypip3error警报
1条回答
网友
1楼 · 发布于 2024-04-25 06:41:31

这里有两个相互影响的问题。1.当您修改python版本时,poetry似乎一直在破坏venv的升级。根据Finswiller的说法,升级应该为新的python版本创建一个新的虚拟环境,但是当poetry使用了错误的pip版本或者失去了它正在使用的虚拟环境的跟踪时,这个过程可能会失败。2.诗歌使用任何pip都是毫无疑问的——没有办法覆盖和强制使用pip3

下面是我用来解决这个问题的提炼步骤

  1. 删除虚拟环境(有时poetry会失去对虚拟环境的跟踪/认为它已经被激活。最好清除板岩)
rm -rf `poetry env list  full-path`
  1. 创建新的虚拟环境(命令应失败,但将创建虚拟环境)
poetry install
  1. 手动激活虚拟环境
source "$( poetry env list  full-path )/bin/activate"
  1. 在虚拟环境中安装poetry(这确保poetry使用的是正确版本的pip)
poetry install

相关问题 更多 >