-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
poetry update
seems to ignore pre-release preferences and install pre-releases for packages for which they are not allowed.
#8194
Comments
dbt-core 1.5.2 has a dependency on "sqlparse (<0.4.4,>=0.2.3)" therefore it is impossible to follow your command to update sqlparse without selecting pre-release versions of dbt-core etc. |
My expectation here is that it does not upgrade If I explicitly set the version constraint for dbt-postgres to exclude 1.6.x, and then run |
Just to clarify this, given the version constraints in This is also the documented behaviour: Lines 290 to 293 in 01657dd
|
I just encountered this with a I have the requirement
I have python 3.11, and yet, poetry decided to update me to the non-essential This looks like a bug, and seems arbitrary. Before the following commands, I was on
If continue to |
For some context, I noticed this because Dependabot updated |
Just to add some context in case this issue is important enough for someone to create a PR: The default does not prohibit prereleases per se and IMO this makes sense and shouldn't be changed. Further, changing it would be breaking for some users. The motivation behind the default behavior is that if a constraint can only be fulfilled by a prerelease, dependency resolution should not fail per default. Setting Unfortunately, setting When I put it all together, I think
|
In my greenlet scenario above, I did not set |
last time I thought about this I reckoned that I guess what is going on in this one is something like:
|
Got the same problem (poetry 1.6.1). The [tool.poetry.dependencies]
[...]
tensorflow = "^2.12" $ poetry update
Updating dependencies
Resolving dependencies... ([...])
Package operations: [...] installs, [...] updates, [...] removals
• [...]
• Updating keras (2.13.1 -> 2.14.0rc0)
• Updating tensorflow-estimator (2.13.0 -> 2.14.0rc0)
• Updating tensorflow (2.13.0 -> 2.14.0rc1)
• [...] and then $ poetry update tensorflow
Updating dependencies
Resolving dependencies... ([...])
Package operations: [...] installs, [...] updates, [...] removals
• [...]
• Downgrading keras (2.14.0rc0 -> 2.13.1)
• Downgrading tensorflow-estimator (2.14.0rc0 -> 2.13.0)
• Downgrading tensorflow (2.14.0rc1 -> 2.13.0)
• [...] |
Due to a bug in poetry ( python-poetry/poetry#8194 ), the 2.0.0rc2 pre-release of sphinx-rtd-theme was selected to allow the update of docutils to 0.19, instead of sticking with the current version for both. This breaks the doc build with this error: ``` writing output... [ 0%] admin/apache Theme error: An error happened in rendering the page admin/apache. Reason: AttributeError("'str' object has no attribute 'attributes'") ```
Made some simple reproduction steps for my previous comment. It boils down to:
Right after adding tensorflow, it'll use tensorflow 2.13.0 and numpy 1.24.3. All good. After adding the extra non-limiting constraint on numpy it'll wrongly upgrade tensorflow to 2.14.0rc1, and numpy to 1.26.0. This is a violation of the rule "prefer stable releases and choose prereleases if that's the only solution" as mentioned by @radoering in this comment. Full shell output$ poetry --version
Poetry (version 1.6.1)
$ poetry new foo
Created package foo in foo
$ cd foo
$ poetry env use python3.11
Creating virtualenv foo in /path/to/project/foo/.venv
Using virtualenv: /path/to/project/foo/.venv
$ sed -i -e 's~^python = "^3.10"$~python = "^3.11,<3.12"~' pyproject.toml
$ poetry add tensorflow
Using version ^2.13.0 for tensorflow
Updating dependencies
Resolving dependencies... (1.8s)
Package operations: 38 installs, 1 update, 0 removals
• Installing certifi (2023.7.22)
• Installing charset-normalizer (3.2.0)
• Installing idna (3.4)
• Installing pyasn1 (0.5.0)
• Installing urllib3 (1.26.16)
• Installing cachetools (5.3.1)
• Installing oauthlib (3.2.2)
• Installing pyasn1-modules (0.3.0)
• Installing requests (2.31.0)
• Installing rsa (4.9)
• Installing google-auth (2.23.0)
• Installing markupsafe (2.1.3)
• Installing requests-oauthlib (1.3.1)
• Installing absl-py (2.0.0)
• Installing google-auth-oauthlib (1.0.0)
• Installing grpcio (1.58.0)
• Installing markdown (3.4.4)
• Installing numpy (1.24.3)
• Installing protobuf (4.24.3)
• Updating setuptools (68.1.2 -> 68.2.2)
• Installing six (1.16.0)
• Installing tensorboard-data-server (0.7.1)
• Installing werkzeug (2.3.7)
• Installing astunparse (1.6.3)
• Installing flatbuffers (23.5.26)
• Installing gast (0.4.0)
• Installing google-pasta (0.2.0)
• Installing h5py (3.9.0)
• Installing keras (2.13.1)
• Installing libclang (16.0.6)
• Installing opt-einsum (3.3.0)
• Installing packaging (23.1)
• Installing tensorboard (2.13.0)
• Installing tensorflow-estimator (2.13.0)
• Installing tensorflow-io-gcs-filesystem (0.34.0)
• Installing termcolor (2.3.0)
• Installing typing-extensions (4.5.0)
• Installing wrapt (1.15.0)
• Installing tensorflow (2.13.0)
Writing lock file
$ poetry add -vvv numpy=^1.21
Loading configuration file /home/<username>/.config/pypoetry/config.toml
Using virtualenv: /path/to/project/foo/.venv
[keyring.backend] Loading KWallet
[keyring.backend] Loading SecretService
[keyring.backend] Loading Windows
[keyring.backend] Loading chainer
[keyring.backend] Loading libsecret
[keyring.backend] Loading macOS
Creating new session for pypi.org
Source (PyPI): 27 packages found for numpy >=1.21,<2.0
Updating dependencies
Resolving dependencies...
1: fact: foo is 0.1.0
1: derived: foo
1: fact: foo depends on tensorflow (^2.13.0)
1: fact: foo depends on numpy (^1.21)
1: selecting foo (0.1.0)
1: derived: numpy (>=1.21,<2.0)
1: derived: tensorflow (>=2.13.0,<3.0.0)
Source (PyPI): 27 packages found for numpy >=1.21,<2.0
1: selecting numpy (1.26.0)
1: fact: tensorflow (2.13.0) depends on absl-py (>=1.0.0)
1: fact: tensorflow (2.13.0) depends on astunparse (>=1.6.0)
1: fact: tensorflow (2.13.0) depends on flatbuffers (>=23.1.21)
1: fact: tensorflow (2.13.0) depends on gast (>=0.2.1,<=0.4.0)
1: fact: tensorflow (2.13.0) depends on google-pasta (>=0.1.1)
1: fact: tensorflow (2.13.0) depends on h5py (>=2.9.0)
1: fact: tensorflow (2.13.0) depends on libclang (>=13.0.0)
1: fact: tensorflow (2.13.0) depends on numpy (>=1.22,<=1.24.3)
1: fact: tensorflow (2.13.0) depends on opt-einsum (>=2.3.2)
1: fact: tensorflow (2.13.0) depends on packaging (*)
1: fact: tensorflow (2.13.0) depends on protobuf (>=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev)
1: fact: tensorflow (2.13.0) depends on setuptools (*)
1: fact: tensorflow (2.13.0) depends on six (>=1.12.0)
1: fact: tensorflow (2.13.0) depends on termcolor (>=1.1.0)
1: fact: tensorflow (2.13.0) depends on typing-extensions (>=3.6.6,<4.6.0)
1: fact: tensorflow (2.13.0) depends on wrapt (>=1.11.0)
1: fact: tensorflow (2.13.0) depends on grpcio (>=1.24.3,<2.0)
1: fact: tensorflow (2.13.0) depends on tensorboard (>=2.13,<2.14)
1: fact: tensorflow (2.13.0) depends on tensorflow-estimator (>=2.13.0,<2.14)
1: fact: tensorflow (2.13.0) depends on keras (>=2.13.1,<2.14)
1: fact: tensorflow (2.13.0) depends on tensorflow-io-gcs-filesystem (>=0.23.1)
1: derived: not tensorflow (==2.13.0)
Source (PyPI): 0 packages found for tensorflow >2.13.0,<3.0.0
1: fact: tensorflow (2.14.0rc1) depends on absl-py (>=1.0.0)
1: fact: tensorflow (2.14.0rc1) depends on astunparse (>=1.6.0)
1: fact: tensorflow (2.14.0rc1) depends on flatbuffers (>=23.5.26)
1: fact: tensorflow (2.14.0rc1) depends on gast (>=0.2.1,<0.5.0 || >0.5.0,<0.5.1 || >0.5.1,<0.5.2 || >0.5.2)
1: fact: tensorflow (2.14.0rc1) depends on google-pasta (>=0.1.1)
1: fact: tensorflow (2.14.0rc1) depends on h5py (>=2.9.0)
1: fact: tensorflow (2.14.0rc1) depends on libclang (>=13.0.0)
1: fact: tensorflow (2.14.0rc1) depends on ml-dtypes (>=0.2.0)
1: fact: tensorflow (2.14.0rc1) depends on numpy (>=1.23.5)
1: fact: tensorflow (2.14.0rc1) depends on opt-einsum (>=2.3.2)
1: fact: tensorflow (2.14.0rc1) depends on packaging (*)
1: fact: tensorflow (2.14.0rc1) depends on protobuf (>=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev)
1: fact: tensorflow (2.14.0rc1) depends on setuptools (*)
1: fact: tensorflow (2.14.0rc1) depends on six (>=1.12.0)
1: fact: tensorflow (2.14.0rc1) depends on termcolor (>=1.1.0)
1: fact: tensorflow (2.14.0rc1) depends on typing-extensions (>=3.6.6)
1: fact: tensorflow (2.14.0rc1) depends on wrapt (>=1.11.0,<1.15)
1: fact: tensorflow (2.14.0rc1) depends on grpcio (>=1.24.3,<2.0)
1: fact: tensorflow (2.14.0rc1) depends on tensorboard (>=2.14,<2.15)
1: fact: tensorflow (2.14.0rc1) depends on tensorflow-estimator (>=2.14.0rc0,<2.15)
1: fact: tensorflow (2.14.0rc1) depends on keras (>=2.14.0rc0,<2.15)
1: fact: tensorflow (2.14.0rc1) depends on tensorflow-io-gcs-filesystem (>=0.23.1)
1: selecting tensorflow (2.14.0rc1)
1: derived: tensorflow-io-gcs-filesystem (>=0.23.1)
1: derived: keras (>=2.14.0rc0,<2.15)
1: derived: tensorflow-estimator (>=2.14.0rc0,<2.15)
1: derived: tensorboard (>=2.14,<2.15)
1: derived: grpcio (>=1.24.3,<2.0)
1: derived: wrapt (>=1.11.0,<1.15)
1: derived: typing-extensions (>=3.6.6)
1: derived: termcolor (>=1.1.0)
1: derived: six (>=1.12.0)
1: derived: setuptools
1: derived: protobuf (>=3.20.3,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev)
1: derived: packaging
1: derived: opt-einsum (>=2.3.2)
1: derived: ml-dtypes (>=0.2.0)
1: derived: libclang (>=13.0.0)
1: derived: h5py (>=2.9.0)
1: derived: google-pasta (>=0.1.1)
1: derived: gast (>=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2)
1: derived: flatbuffers (>=23.5.26)
1: derived: astunparse (>=1.6.0)
1: derived: absl-py (>=1.0.0)
Source (PyPI): 1 packages found for keras >=2.14.0rc0,<2.15
Source (PyPI): 1 packages found for tensorflow-estimator >=2.14.0rc0,<2.15
Source (PyPI): 1 packages found for tensorboard >=2.14,<2.15
Source (PyPI): 9 packages found for wrapt >=1.11.0,<1.15
[urllib3.connectionpool] Starting new HTTPS connection (1): pypi.org:443
[urllib3.connectionpool] https://pypi.org:443 "GET /simple/ml-dtypes/ HTTP/1.1" 304 0
[filelock] Attempting to acquire lock 139711856179232 on /home/<username>/.cache/pypoetry/cache/repositories/PyPI/_http/e/7/b/8/1/e7b816ce4417ea1e475b3775edac7072e2109deeebfd08b3249d8bfd.lock
[filelock] Lock 139711856179232 acquired on /home/<username>/.cache/pypoetry/cache/repositories/PyPI/_http/e/7/b/8/1/e7b816ce4417ea1e475b3775edac7072e2109deeebfd08b3249d8bfd.lock
[filelock] Attempting to release lock 139711856179232 on /home/<username>/.cache/pypoetry/cache/repositories/PyPI/_http/e/7/b/8/1/e7b816ce4417ea1e475b3775edac7072e2109deeebfd08b3249d8bfd.lock
[filelock] Lock 139711856179232 released on /home/<username>/.cache/pypoetry/cache/repositories/PyPI/_http/e/7/b/8/1/e7b816ce4417ea1e475b3775edac7072e2109deeebfd08b3249d8bfd.lock
Source (PyPI): 2 packages found for ml-dtypes >=0.2.0
1: selecting keras (2.14.0)
1: selecting tensorflow-estimator (2.14.0)
1: fact: tensorboard (2.14.0) depends on absl-py (>=0.4)
1: fact: tensorboard (2.14.0) depends on grpcio (>=1.48.2)
1: fact: tensorboard (2.14.0) depends on google-auth (>=1.6.3,<3)
1: fact: tensorboard (2.14.0) depends on google-auth-oauthlib (>=0.5,<1.1)
1: fact: tensorboard (2.14.0) depends on markdown (>=2.6.8)
1: fact: tensorboard (2.14.0) depends on numpy (>=1.12.0)
1: fact: tensorboard (2.14.0) depends on protobuf (>=3.19.6)
1: fact: tensorboard (2.14.0) depends on requests (>=2.21.0,<3)
1: fact: tensorboard (2.14.0) depends on setuptools (>=41.0.0)
1: fact: tensorboard (2.14.0) depends on tensorboard-data-server (>=0.7.0,<0.8.0)
1: fact: tensorboard (2.14.0) depends on werkzeug (>=1.0.1)
1: fact: tensorboard (2.14.0) depends on wheel (>=0.26)
1: selecting tensorboard (2.14.0)
1: derived: wheel (>=0.26)
1: derived: werkzeug (>=1.0.1)
1: derived: tensorboard-data-server (>=0.7.0,<0.8.0)
1: derived: setuptools (>=41.0.0)
1: derived: requests (>=2.21.0,<3)
1: derived: markdown (>=2.6.8)
1: derived: google-auth-oauthlib (>=0.5,<1.1)
1: derived: google-auth (>=1.6.3,<3)
1: derived: grpcio (>=1.48.2)
1: selecting grpcio (1.58.0)
1: selecting typing-extensions (4.5.0)
1: selecting termcolor (2.3.0)
1: selecting six (1.16.0)
1: selecting setuptools (68.2.2)
1: selecting protobuf (4.24.3)
1: selecting packaging (23.1)
1: fact: opt-einsum (3.3.0) depends on numpy (>=1.7)
1: selecting opt-einsum (3.3.0)
1: selecting libclang (16.0.6)
1: fact: h5py (3.9.0) depends on numpy (>=1.17.3)
1: selecting h5py (3.9.0)
1: fact: google-pasta (0.2.0) depends on six (*)
1: selecting google-pasta (0.2.0)
1: selecting gast (0.4.0)
1: selecting flatbuffers (23.5.26)
1: fact: astunparse (1.6.3) depends on wheel (>=0.23.0,<1.0)
1: fact: astunparse (1.6.3) depends on six (>=1.6.1,<2.0)
1: selecting astunparse (1.6.3)
1: derived: wheel (>=0.23.0,<1.0)
1: selecting absl-py (2.0.0)
1: selecting wheel (0.41.2)
1: fact: werkzeug (2.3.7) depends on MarkupSafe (>=2.1.1)
1: selecting werkzeug (2.3.7)
1: derived: MarkupSafe (>=2.1.1)
1: selecting tensorboard-data-server (0.7.1)
1: fact: requests (2.31.0) depends on charset-normalizer (>=2,<4)
1: fact: requests (2.31.0) depends on idna (>=2.5,<4)
1: fact: requests (2.31.0) depends on urllib3 (>=1.21.1,<3)
1: fact: requests (2.31.0) depends on certifi (>=2017.4.17)
1: selecting requests (2.31.0)
1: derived: certifi (>=2017.4.17)
1: derived: urllib3 (>=1.21.1,<3)
1: derived: idna (>=2.5,<4)
1: derived: charset-normalizer (>=2,<4)
1: selecting markdown (3.4.4)
1: fact: google-auth-oauthlib (1.0.0) depends on google-auth (>=2.15.0)
1: fact: google-auth-oauthlib (1.0.0) depends on requests-oauthlib (>=0.7.0)
1: selecting google-auth-oauthlib (1.0.0)
1: derived: requests-oauthlib (>=0.7.0)
1: derived: google-auth (>=2.15.0)
1: fact: google-auth (2.23.0) depends on cachetools (>=2.0.0,<6.0)
1: fact: google-auth (2.23.0) depends on pyasn1-modules (>=0.2.1)
1: fact: google-auth (2.23.0) depends on rsa (>=3.1.4,<5)
1: fact: google-auth (2.23.0) depends on urllib3 (<2.0)
1: selecting google-auth (2.23.0)
1: derived: urllib3 (<2.0)
1: derived: rsa (>=3.1.4,<5)
1: derived: pyasn1-modules (>=0.2.1)
1: derived: cachetools (>=2.0.0,<6.0)
1: selecting markupsafe (2.1.3)
1: selecting certifi (2023.7.22)
1: selecting urllib3 (1.26.16)
1: selecting idna (3.4)
1: selecting charset-normalizer (3.2.0)
1: fact: requests-oauthlib (1.3.1) depends on oauthlib (>=3.0.0)
1: fact: requests-oauthlib (1.3.1) depends on requests (>=2.0.0)
1: selecting requests-oauthlib (1.3.1)
1: derived: oauthlib (>=3.0.0)
1: fact: rsa (4.9) depends on pyasn1 (>=0.1.3)
1: selecting rsa (4.9)
1: derived: pyasn1 (>=0.1.3)
1: fact: pyasn1-modules (0.3.0) depends on pyasn1 (>=0.4.6,<0.6.0)
1: selecting pyasn1-modules (0.3.0)
1: derived: pyasn1 (>=0.4.6,<0.6.0)
1: selecting cachetools (5.3.1)
1: selecting oauthlib (3.2.2)
1: selecting pyasn1 (0.5.0)
1: selecting wrapt (1.14.1)
0: Duplicate dependencies for numpy
0: Merging requirements for numpy (>=1.23.3)
1: fact: ml-dtypes (0.3.0) depends on numpy (>=1.23.3)
1: selecting ml-dtypes (0.3.0)
1: selecting tensorflow-io-gcs-filesystem (0.34.0)
1: Version solving took 0.384 seconds.
1: Tried 1 solutions.
Finding the necessary packages for the current system
Source (PyPI): 2 packages found for numpy >=1.21,<2.0
Source (PyPI): 0 packages found for tensorflow >2.13.0,<3.0.0
Source (PyPI): 1 packages found for keras >=2.14.0rc0,<2.15
Source (PyPI): 1 packages found for tensorflow-estimator >=2.14.0rc0,<2.15
Source (PyPI): 1 packages found for tensorboard >=2.14,<2.15
Source (PyPI): 1 packages found for wrapt >=1.11.0,<1.15
Source (PyPI): 1 packages found for ml-dtypes >=0.2.0
Package operations: 1 install, 6 updates, 0 removals, 34 skipped
• Updating numpy (1.24.3 -> 1.26.0): Pending...
Skipping wheel numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-win32.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp310-cp310-win_amd64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-win32.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp311-cp311-win_amd64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-win32.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp312-cp312-win_amd64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-win32.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-cp39-cp39-win_amd64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl as this is not supported by the current environment
• Updating numpy (1.24.3 -> 1.26.0): Installing...
• Updating numpy (1.24.3 -> 1.26.0)
• Updating keras (2.13.1 -> 2.14.0): Pending...
• Installing ml-dtypes (0.3.0): Pending...
• Updating tensorboard (2.13.0 -> 2.14.0): Pending...
• Updating tensorflow-estimator (2.13.0 -> 2.14.0): Pending...
• Downgrading wrapt (1.15.0 -> 1.14.1): Pending...
Skipping wheel ml_dtypes-0.3.0-cp310-cp310-macosx_10_9_universal2.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp310-cp310-win_amd64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp311-cp311-macosx_10_9_universal2.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp311-cp311-win_amd64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp312-cp312-macosx_10_9_universal2.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp312-cp312-win_amd64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp39-cp39-macosx_10_9_universal2.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel ml_dtypes-0.3.0-cp39-cp39-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-win32.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp310-cp310-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-win32.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp35-cp35m-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-win32.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp36-cp36m-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-win32.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp37-cp37m-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-win32.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp38-cp38-win_amd64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl as this is not supported by the current environment
Skipping wheel wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl as this is not supported by the current environment
• Updating keras (2.13.1 -> 2.14.0): Installing...
• Updating keras (2.13.1 -> 2.14.0)
• Installing ml-dtypes (0.3.0): Pending...
• Installing ml-dtypes (0.3.0): Installing...
• Installing ml-dtypes (0.3.0)
• Updating tensorboard (2.13.0 -> 2.14.0): Pending...
• Updating tensorboard (2.13.0 -> 2.14.0): Installing...
• Updating tensorboard (2.13.0 -> 2.14.0)
• Updating tensorflow-estimator (2.13.0 -> 2.14.0): Pending...
• Updating tensorflow-estimator (2.13.0 -> 2.14.0): Installing...
• Updating tensorflow-estimator (2.13.0 -> 2.14.0)
• Downgrading wrapt (1.15.0 -> 1.14.1): Pending...
• Downgrading wrapt (1.15.0 -> 1.14.1): Installing...
• Downgrading wrapt (1.15.0 -> 1.14.1)
• Installing absl-py (2.0.0): Pending...
• Installing absl-py (2.0.0): Skipped for the following reason: Already installed
• Installing astunparse (1.6.3): Pending...
• Installing astunparse (1.6.3): Skipped for the following reason: Already installed
• Installing cachetools (5.3.1): Pending...
• Installing cachetools (5.3.1): Skipped for the following reason: Already installed
• Installing certifi (2023.7.22): Pending...
• Installing certifi (2023.7.22): Skipped for the following reason: Already installed
• Installing charset-normalizer (3.2.0): Pending...
• Installing charset-normalizer (3.2.0): Skipped for the following reason: Already installed
• Installing flatbuffers (23.5.26): Pending...
• Installing flatbuffers (23.5.26): Skipped for the following reason: Already installed
• Installing gast (0.4.0): Pending...
• Installing gast (0.4.0): Skipped for the following reason: Already installed
• Installing google-auth (2.23.0): Pending...
• Installing google-auth (2.23.0): Skipped for the following reason: Already installed
• Installing google-auth-oauthlib (1.0.0): Pending...
• Installing google-auth-oauthlib (1.0.0): Skipped for the following reason: Already installed
• Installing google-pasta (0.2.0): Pending...
• Installing google-pasta (0.2.0): Skipped for the following reason: Already installed
• Installing grpcio (1.58.0): Pending...
• Installing grpcio (1.58.0): Skipped for the following reason: Already installed
• Installing h5py (3.9.0): Pending...
• Installing h5py (3.9.0): Skipped for the following reason: Already installed
• Installing idna (3.4): Pending...
• Installing idna (3.4): Skipped for the following reason: Already installed
• Installing libclang (16.0.6): Pending...
• Installing libclang (16.0.6): Skipped for the following reason: Already installed
• Installing markdown (3.4.4): Pending...
• Installing markdown (3.4.4): Skipped for the following reason: Already installed
• Installing markupsafe (2.1.3): Pending...
• Installing markupsafe (2.1.3): Skipped for the following reason: Already installed
• Installing oauthlib (3.2.2): Pending...
• Installing oauthlib (3.2.2): Skipped for the following reason: Already installed
• Installing opt-einsum (3.3.0): Pending...
• Installing opt-einsum (3.3.0): Skipped for the following reason: Already installed
• Installing packaging (23.1): Pending...
• Installing packaging (23.1): Skipped for the following reason: Already installed
• Installing pyasn1 (0.5.0): Pending...
• Installing pyasn1 (0.5.0): Skipped for the following reason: Already installed
• Installing pyasn1-modules (0.3.0): Pending...
• Installing pyasn1-modules (0.3.0): Skipped for the following reason: Already installed
• Installing requests (2.31.0): Pending...
• Installing requests (2.31.0): Skipped for the following reason: Already installed
• Installing requests-oauthlib (1.3.1): Pending...
• Installing requests-oauthlib (1.3.1): Skipped for the following reason: Already installed
• Installing rsa (4.9): Pending...
• Installing rsa (4.9): Skipped for the following reason: Already installed
• Updating tensorflow (2.13.0 -> 2.14.0rc1): Pending...
• Installing six (1.16.0): Pending...
• Installing six (1.16.0): Skipped for the following reason: Already installed
• Installing tensorboard-data-server (0.7.1): Pending...
• Installing tensorboard-data-server (0.7.1): Skipped for the following reason: Already installed
• Installing protobuf (4.24.3): Pending...
• Installing protobuf (4.24.3): Skipped for the following reason: Already installed
• Installing setuptools (68.2.2): Pending...
• Installing setuptools (68.2.2): Skipped for the following reason: Already installed
• Installing tensorflow-io-gcs-filesystem (0.34.0): Pending...
• Installing tensorflow-io-gcs-filesystem (0.34.0): Skipped for the following reason: Already installed
• Installing typing-extensions (4.5.0): Pending...
• Installing typing-extensions (4.5.0): Skipped for the following reason: Already installed
• Installing urllib3 (1.26.16): Pending...
• Installing urllib3 (1.26.16): Skipped for the following reason: Already installed
• Updating tensorflow (2.13.0 -> 2.14.0rc1): Installing...
• Updating tensorflow (2.13.0 -> 2.14.0rc1)
• Installing six (1.16.0): Pending...
• Installing six (1.16.0): Skipped for the following reason: Already installed
• Installing tensorboard-data-server (0.7.1): Pending...
• Installing tensorboard-data-server (0.7.1): Skipped for the following reason: Already installed
• Installing protobuf (4.24.3): Pending...
• Installing protobuf (4.24.3): Skipped for the following reason: Already installed
• Installing setuptools (68.2.2): Pending...
• Installing setuptools (68.2.2): Skipped for the following reason: Already installed
• Installing tensorflow-io-gcs-filesystem (0.34.0): Pending...
• Installing tensorflow-io-gcs-filesystem (0.34.0): Skipped for the following reason: Already installed
• Installing typing-extensions (4.5.0): Pending...
• Installing typing-extensions (4.5.0): Skipped for the following reason: Already installed
• Installing urllib3 (1.26.16): Pending...
• Installing urllib3 (1.26.16): Skipped for the following reason: Already installed
• Installing werkzeug (2.3.7): Pending...
• Installing werkzeug (2.3.7): Skipped for the following reason: Already installed
• Installing wheel (0.41.2): Pending...
• Installing wheel (0.41.2): Skipped for the following reason: Already installed
• Installing termcolor (2.3.0): Pending...
• Installing termcolor (2.3.0): Skipped for the following reason: Already installed
Writing lock file
$ poetry show tensorflow
name : tensorflow
version : 2.14.0rc1
description : TensorFlow is an open source machine learning framework for everyone.
dependencies
- absl-py >=1.0.0
- astunparse >=1.6.0
- flatbuffers >=23.5.26
- gast >=0.2.1,<0.5.0 || >0.5.0,<0.5.1 || >0.5.1,<0.5.2 || >0.5.2
- google-pasta >=0.1.1
- grpcio >=1.24.3,<2.0
- h5py >=2.9.0
- keras >=2.14.0rc0,<2.15
- libclang >=13.0.0
- ml-dtypes >=0.2.0
- numpy >=1.23.5
- opt-einsum >=2.3.2
- packaging *
- protobuf >=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev
- setuptools *
- six >=1.12.0
- tensorboard >=2.14,<2.15
- tensorflow-estimator >=2.14.0rc0,<2.15
- tensorflow-io-gcs-filesystem >=0.23.1
- termcolor >=1.1.0
- typing-extensions >=3.6.6
- wrapt >=1.11.0,<1.15
$ cat pyproject.toml
[tool.poetry]
name = "foo"
version = "0.1.0"
description = ""
authors = ["<name> <email address>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11,<3.12"
tensorflow = "^2.13.0"
numpy = "^1.21"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api" |
👍 .. experiencing seemingly the same issue with (almost the latest) poetry version 1.8.1. .. is any resolution planned? |
Am I misunderstanding something because to me this seems to make Poetry potentially dangerous to use for production applications (unless you manually audit the lock file)? That being said (and if I'm understanding the situation correctly), how is this not a critical issue at least worth pinning and/or prioritizing? Lastly, are there any plans/ideas on how to implement a fix for this that we might help with or contribute to? |
Something appears to have changed recently as we're suddenly hitting this issue very frequently in the last week. By any chance is python-poetry/poetry-core#645 related to this, or even (fingers crossed) a possible fix? |
no if anything has changed it is almost certainly only the set of published packages and their dependencies. |
The rule is applied to a partial solution not globally. (See #8194 (comment) for an attempt to explain.) Otherwise, if we found a complete solution with prereleases we would have to search for all other complete solutions until we can be sure that there is no one without prereleases. That is not feasible.
There is #8194 (comment). The upcoming 2.0 release might be a chance to change something even if it is breaking. However, I cannot think of a better design than #8194 (comment) for now.
And how should we allow prereleases if we remove the flag? |
I would do it the opposite way and first run the solver disallowing pre-releases (except for direct dependencies) and when that fails to find a match then run the solver again and allow pre-releases. (I actually just wrote a quick-and-dirty patch that does just that.) Obviously: this can/may/will have an impact on the run-time because it needs to check more combinations. (Which would also be true if the pre-release did not exist).
A flag for direct dependencies can work but the problem is not always in the direct dependencies but due to conflicts between other packages that it depends on. I would very much like to have a global option that can control it for all depended packages as well. |
I implemented the tri-state setting in #9798 to solve the original issue (surprising behavior of Regardless of #9798, I think some suggestions still make sense and could be pursued in separate PRs:
I agree it makes sense to have the possibility to allow/disallow pre-releases for all dependencies. I just wonder if this should be an option to
Interesting idea. Although this would give better results I am afraid it will not be viable because of the performance regression (especially if a lot of backtracking is necessary only to determine that there is no solution without pre-releases). However, this could be implemented as optional setting. On the other side, such a setting might not be necessary if we introduced a setting to globally disallow pre-releases (see above)? |
The benefit op having it as an option in pyproject.toml is that:
But for me both are fine (as long as there is a way to control the behavior).
The "global pre-releases" option could also be a tri-state:
Personally I will (likely) never use "global pre-releases=fallback" but always "global pre-releases=false". The only benefit of having it might be to be a bit more aligned with the specs and/or other package managers. (But the benefit is small: if someone wants it they can first run with false and if that fails update the option to true and re-run) |
I've got a super weird issue that is related to this one: I have a package in my private registry where I've got Then in another package, I refer this one as a dependency. It resolves to I think the above issue may be some other bug in poetry's dependency resolution, but I'm also surprised that prerelease version is allowed if there is no compatible version due to conflicts in transitive dependencies. It is super easy to get an unstable dependency version being locked without any change in project configs (while regenerating only lock file). |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
If an exception occurs when executing a command, I executed it again in debug mode (-vvv
option) and have included the output below.Issue
With the linked
poetry.lock
andpyproject.toml
, when I runpoetry update sqlparse
, poetry upgradesdbt-postgres
to a pre-release version even though thepyproject.toml
file hasdbt-postgres = {version = "^1.5.2", allow-prereleases = false}
(the default).See below:
This can be reproduced by running
docker compose build
in this directory. The output of doing this can be seen in here.The text was updated successfully, but these errors were encountered: