scipy和诗歌之间的版本不匹配

gfttwv5a  于 2023-01-30  发布在  其他
关注(0)|答案(2)|浏览(149)

我正在使用诗歌依赖项管理器进行一些开发(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,所以,一切都应该正常,对吗?
如能提出解决这一问题的建议,将不胜感激。

deikduxw

deikduxw1#

我提出的解决方案并不漂亮,也没有回答我的问题,但它确实有效。正如Imre_G所建议的,我查看了pyproject.toml中的[tool. poetry. dependencies]。

python="^3.11.0"

python="==3.11.0"

显然,Poetry接受了这一点,认为它有效地排除了版本3.12,而"^3.11.0"没有。
谢谢你的帮助。

csga3l58

csga3l582#

我不知道它从哪里得到这个“Python〉=3.12,〈4.0”。
指定python="^3.11.0"is equivalent to>=3.11,<4.0
这表示项目预期适用于该范围内的 * 每个 * 版本,而不是任意版本。
由于Scipy不支持3.12,因此项目无法支持3.12,因此无法满足需求。

相关问题