GrahamDumpleton / wrapt

A Python module for decorators, wrappers and monkey patching.
BSD 2-Clause "Simplified" License
2.03k stars 231 forks source link

Unable to install wrapt 1.14.1 via poetry #251

Open masterginger opened 10 months ago

masterginger commented 10 months ago

Hi all, it looks like poetry was unable to install wrapt 1.14.1 starting from recently. I created a simple reproduce as below. We'd be appreciated if anyone can take a look, thanks!

Poetry version: 1.2.2 Python version: 3.11.3 OS version: macOS 14.0 (Sonoma) pyproject.toml:

[tool.poetry]
name = "demo"
version = "1.2.2"
description = ""
authors = ["Test <test@test.com>"]

[tool.poetry.dependencies]
python = ">=3.11,<3.12"
wrapt = "==1.14.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

Command: poetry install Expected result: wrapt is installed successfully Actual result:

poetry install
Installing dependencies from lock file

Package operations: 1 install, 0 updates, 0 removals

  - Installing wrapt (1.14.1)

Command ['/var/lib/conda/envs/nextdoor3/bin/python', '-m', 'pip', 'install', '--no-deps', '-r', '/var/folders/c9/6vjpx06j3hx0n39gt0gl4_zc0000gq/T/wrapt-1.14.1j5s6lo7hreqs.txt'] errored with the following return code 1, and output: 
Collecting wrapt==1.14.1
  Using cached wrapt-1.14.1-cp311-cp311-macosx_11_0_arm64.whl (36 kB)
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    wrapt==1.14.1 from https://files.pythonhosted.org/packages/6e/79/aec8185eefe20e8f49e5adeb0c2e20e016d5916d10872c17705ddac41be2/wrapt-1.14.1-cp311-cp311-macosx_11_0_arm64.whl (from -r /var/folders/c9/6vjpx06j3hx0n39gt0gl4_zc0000gq/T/wrapt-1.14.1j5s6lo7hreqs.txt (line 1)):
        Expected sha256 00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3
        Expected     or 01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b
        Expected     or 02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4
        Expected     or 07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2
        Expected     or 11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656
        Expected     or 1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3
        Expected     or 21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff
        Expected     or 257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310
        Expected     or 2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a
        Expected     or 2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57
        Expected     or 2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069
        Expected     or 3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383
        Expected     or 34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe
        Expected     or 36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87
        Expected     or 380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d
        Expected     or 40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b
        Expected     or 43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907
        Expected     or 4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f
        Expected     or 5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0
        Expected     or 5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28
        Expected     or 5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1
        Expected     or 60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853
        Expected     or 642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc
        Expected     or 6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3
        Expected     or 6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3
        Expected     or 6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164
        Expected     or 6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1
        Expected     or 709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c
        Expected     or 7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1
        Expected     or 7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7
        Expected     or 7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1
        Expected     or 80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320
        Expected     or 81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed
        Expected     or 833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1
        Expected     or 88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248
        Expected     or 8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c
        Expected     or 8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456
        Expected     or 8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77
        Expected     or 903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef
        Expected     or 9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1
        Expected     or 988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7
        Expected     or 9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86
        Expected     or 9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4
        Expected     or 9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d
        Expected     or a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d
        Expected     or a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8
        Expected     or aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5
        Expected     or b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471
        Expected     or b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00
        Expected     or b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68
        Expected     or b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3
        Expected     or d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d
        Expected     or d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735
        Expected     or d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d
        Expected     or d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569
        Expected     or dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7
        Expected     or ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59
        Expected     or dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5
        Expected     or dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb
        Expected     or e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b
        Expected     or e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f
        Expected     or ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462
        Expected     or ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015
        Expected     or ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af
             Got        2020f391008ef874c6d9e208b24f28e31bcb85ccff4f335f15a3251d222b92d9
GrahamDumpleton commented 10 months ago

A Python 3.11 binary wheel was recently added against this older release to satisfy needs of people using Tensorflow, where up till now it would have resulted in a pure Python wheel being used since Python 3.11 didn't exist when that version of wrapt was originally released.

You are going to have to tell poetry to somehow update it's cache and accept a hash for a new wheel file against that wrapt version. I don't know how Poetry works and how to do that.

Note that this isn't replacing an existing wheel but adding a new one for Python 3.11 which didn't exist before, thus it is strange that Poetry wants to complain.

kbakk commented 10 months ago

This should fix that: poetry lock --no-update. It will add the new wheels to the lock file (the --no-update will prevent updates from happening, i.e. all dependencies are kept as is).