问题描述
我正在尝试使用 Poetry 来管理我的 Python 项目,但某些 PyPI 依赖项没有版本号,例如 this one。
我因此得到这样的错误
$ poetry update
Updating dependencies
Resolving dependencies... (0.5s)
SolverProblemError
Because wworkflow depends on waapi-client-python (^0) which doesn't match any versions,version solving Failed.
at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/poetry/puzzle/solver.py:241 in _solve
237│ packages = result.packages
238│ except OverrideNeeded as e:
239│ return self.solve_in_compatibility_mode(e.overrides,use_latest=use_latest)
240│ except SolveFailure as e:
→ 241│ raise SolverProblemError(e)
242│
243│ results = dict(
244│ depth_first_search(
245│ PackageNode(self._package,packages),aggregate_package_nodes
在 .toml 中使用 any
作为依赖项的版本值时,我遇到了类似的错误。
是不是 Poetry 不支持这样的用例?
解决方法
感谢@Lain Shelvington 的评论。我弄错了包名。我从其 GitHub 存储库中取名,但 PyPI 包的名称不同。
poetry update
在修复名称后起作用。但是,Poetry 无法将包名错误与其版本标记问题区分开来,这有点令人困惑。