我正在使用诗歌依赖项管理器进行一些开发(RTL-SDR应用程序)。但是,当我尝试将scipy添加到环境中(在Windows 11 Powershell中调用poetry add scipy
)时,我得到了以下输出:
Using version ^1.10.0 for scipy
Updating dependencies
Resolving dependencies...
The current project's Python requirement (>=3.11,<4.0) is not compatible with some of the required packages Python requirement:
- scipy requires Python <3.12,>=3.8, so it will not be satisfied for Python >=3.12,<4.0
Because no versions of scipy match >1.10.0,<2.0.0
and scipy (1.10.0) requires Python <3.12,>=3.8, scipy is forbidden.
So, because sdr1 depends on scipy (^1.10.0), version solving failed.
• Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
For scipy, a possible solution would be to set the `python` property to ">=3.11,<3.12"
https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers
但是,使用py -V
,我验证了我的python版本是3.11.0,所以,一切都应该正常,对吗?
如能提出解决这一问题的建议,将不胜感激。
2条答案
按热度按时间deikduxw1#
我提出的解决方案并不漂亮,也没有回答我的问题,但它确实有效。正如Imre_G所建议的,我查看了pyproject.toml中的[tool. poetry. dependencies]。
到
显然,Poetry接受了这一点,认为它有效地排除了版本3.12,而"^3.11.0"没有。
谢谢你的帮助。
csga3l582#
我不知道它从哪里得到这个“Python〉=3.12,〈4.0”。
指定
python="^3.11.0"
is equivalent to>=3.11,<4.0
。这表示项目预期适用于该范围内的 * 每个 * 版本,而不是任意版本。
由于Scipy不支持3.12,因此项目无法支持3.12,因此无法满足需求。