When bumping my python version from 3.7 to 3.8 in poetry, reinstalling all the dependencies fail with a version of the following:
ERROR: No matching distribution found for...
The distribution for that version is available at pypa, and is often the most recent version.
Simply removing the offending package doesn't fix the issue, as poetry will likely fail with other packages. After some investigation, it appears that somehow poetry isn't using pip3 to install underneath, but is instead using pip2.7.
Indeed this is supported by a deprecation alert, and the error is always reproducible if I attempt to install the same version with pip (globally or otherwise) and not pip3.
This issue is frustrating and deleting the venv alone doesn't seem to help. How can I resolve this dependency issue that shouldn't exist in the first place?
If you need more complex install conditions for your dependencies, Poetry supports environment markers via the markers property: Sometimes, one of your dependency may have different version ranges depending on the target Python versions.
You can also specify that a dependency should be installed only for specific Python versions: If you need more complex install conditions for your dependencies, Poetry supports environment markers via the markers property: Sometimes, one of your dependency may have different version ranges depending on the target Python versions.
If the systems python is changed, poetry will always create a new venv if not already one for the minor version exists or you use in-project venv's. That's an intended behavior. The pip version inside your venv is the one provide by your python installation (this is not necessarily the same as your current system has).
poetry seems to consistently botch the upgrade of a venv when you modify the python versions. According to finswimmer, the upgrade should create a new virtual env for the new python version, however this process can fail when poetry uses the wrong pip version or loses track of which virtual env it's using.
There are two issues here which feed into each other. 1. poetry seems to consistently botch the upgrade of a venv when you modify the python versions. According to finswimmer, the upgrade should create a new virtual env for the new python version, however this process can fail when poetry uses the wrong pip
version or loses track of which virtual env it's using. 2. poetry uses whatever pip
is no questions asked - with no way to override and force usage of pip3.
Here are the distilled steps I used to solve this issue
rm -rf `poetry env list --full-path`
poetry install
source "$(poetry env list --full-path | tail -1 | sed 's/.\{12\}$//')/bin/activate"
poetry install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With