Skip to content

Poetry 1.4.0: There is no item named <package>/WHEEL in the archive #7572

@elventear

Description

@elventear
  • I am on the latest stable Poetry version, installed using a recommended method.
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have consulted the FAQ and blog for any relevant entries or release notes.
  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option) and have included the output below.

Issue

Hypercorn can't be installed with poetry 1.4.0, it used to be possible to install it:

poetry install                                                                                                                                                                                                          
Creating virtualenv test in /path/to/.venv
Updating dependencies
Resolving dependencies... (0.4s)

Writing lock file

Package operations: 8 installs, 0 updates, 0 removals

  • Installing h11 (0.14.0)
  • Installing hpack (4.0.0)
  • Installing hyperframe (6.0.1)
  • Installing h2 (4.1.0)
  • Installing priority (2.0.0)
  • Installing toml (0.10.2)
  • Installing wsproto (1.2.0)
  • Installing hypercorn (0.14.3): Failed

  Stack trace:

  10  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/executor.py:271 in _execute_operation
       269│
       270│             try:
     → 271│                 result = self._do_execute_operation(operation)
       272│             except EnvCommandError as e:
       273│                 if e.e.returncode == -2:

   9  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/executor.py:357 in _do_execute_operation
       355│             return 0
       356│
     → 357│         result: int = getattr(self, f"_execute_{method}")(operation)
       358│
       359│         if result != 0:

   8  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/executor.py:477 in _execute_install
       475│
       476│     def _execute_install(self, operation: Install | Update) -> int:
     → 477│         status_code = self._install(operation)
       478│
       479│         self._save_url_reference(operation)

   7  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/executor.py:535 in _install
       533│                 self._remove(operation.initial_package)
       534│
     → 535│             self._wheel_installer.install(archive)
       536│         finally:
       537│             if cleanup_archive:

   6  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/poetry/installation/wheel_installer.py:101 in install
        99│     def install(self, wheel: Path) -> None:
       100│         with WheelFile.open(Path(wheel.as_posix())) as source:
     → 101│             install(
       102│                 source=source,
       103│                 destination=self._destination.for_source(source),

   5  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/installer/_core.py:77 in install
        75│
        76│     """
     →  77│     root_scheme = _process_WHEEL_file(source)
        78│
        79│     # RECORD handling

   4  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/installer/_core.py:21 in _process_WHEEL_file
        19│     Returns the scheme that the archive root should go in.
        20│     """
     →  21│     stream = source.read_dist_info("WHEEL")
        22│     metadata = parse_metadata_file(stream)
        23│

   3  ~/.local/pipx/venvs/poetry/lib/python3.11/site-packages/installer/sources.py:139 in read_dist_info
       137│         """Get contents, from ``filename`` in the dist-info directory."""
       138│         path = posixpath.join(self.dist_info_dir, filename)
     → 139│         return self._zipfile.read(path).decode("utf-8")
       140│
       141│     def get_contents(self) -> Iterator[WheelContentElement]:

   2  /opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/zipfile.py:1507 in read
       1505│     def read(self, name, pwd=None):
       1506│         """Return file bytes for name."""
     → 1507│         with self.open(name, "r", pwd) as fp:
       1508│             return fp.read()
       1509│

   1  /opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/zipfile.py:1544 in open
       1542│         else:
       1543│             # Get info object for name
     → 1544│             zinfo = self.getinfo(name)
       1545│
       1546│         if mode == 'w':

  KeyError

  "There is no item named 'Hypercorn-0.14.3.dist-info/WHEEL' in the archive"

  at /opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/zipfile.py:1473 in getinfo
      1469│     def getinfo(self, name):
      1470│         """Return the instance of ZipInfo given 'name'."""
      1471│         info = self.NameToInfo.get(name)
      1472│         if info is None:
    → 1473│             raise KeyError(
      1474│                 'There is no item named %r in the archive' % name)
      1475│
      1476│         return info

Wondering if there is a case sensitivity issue. Looking at the wheel, I do see there is a file in hypercorn-0.14.3.dist-info/WHEEL.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expectedstatus/external-issueIssue is caused by external project (platform, dep, etc)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions