Open
Description
Since PyO3
0.21.0
has been released and has a big performance improvement.
Many downstream projects will upgrade to the latest version of PyO3. Take opendal
(has both pyo3 and pyo3-asyncio dependencies) as an example, I manage to bump it's dependency of pyo3
to 0.21
, but get an error:
error: failed to select a version for `pyo3-ffi`.
... required by package `pyo3 v0.20.0`
... which satisfies dependency `pyo3 = "^0.20"` of package `pyo3-asyncio v0.20.0`
... which satisfies dependency `pyo3-asyncio = "^0.20"` of package `opendal-python v0.45.1 (xxx/opendal/bindings/python)`
versions that meet the requirements `=0.20.0` are: 0.20.0
the package `pyo3-ffi` links to the native library `python`, but it conflicts with a previous package which links to `python` as well:
package `pyo3-ffi v0.21.0`
... which satisfies dependency `pyo3-ffi = "=0.21.0"` of package `pyo3 v0.21.0`
... which satisfies dependency `pyo3 = "^0.21.0"` of package `opendal-python v0.45.1 (xxx/opendal/bindings/python)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "python"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
failed to select a version for `pyo3-ffi` which could resolve this conflict
IIUC, this means pyo3-asyncio
should bump pyo3
to 0.21
first.
Metadata
Metadata
Assignees
Labels
No labels