python - 诗歌即使存在也找不到依赖的版本

标签 python python-3.x python-poetry

在诗歌中将我的 python 版本从 3.7 提高到 3.8 时,重新安装所有依赖项失败,版本如下:

ERROR: No matching distribution found for...

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

简单地删除有问题的包并不能解决问题,因为使用其他包时,诗歌可能会失败。经过一番调查,似乎诗歌没有使用 pip3 安装在下面,而是使用 pip2.7。

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

这个问题令人沮丧,单独删除 venv 似乎无济于事。我该如何解决这个原本不应该存在的依赖问题?

最佳答案

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

这是我用来解决这个问题的蒸馏步骤

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

    关于python - 诗歌即使存在也找不到依赖的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61415284/

    相关文章:

    python - Django:在管理界面中伪造一个字段?

    python - 有没有办法跨进程修补对象?

    python - Phylo BioPython 构建树

    Python3 pathlib 单行代码用于检查 Path 是否至少有一个特定扩展名的文件

    python - 如何使用 Pandas 转置行和列?

    rasa - 发现的虚拟环境似乎已损坏| python诗歌

    python - 在元组中插入项目

    python-3.x - 在selenium python中检测浏览器的语言?

    python - 诗歌和 PyTorch

    python-poetry - 如何强制 Poetry 从分支重新安装 Git 依赖项