python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.71k stars 2.27k forks source link

poetry fails on sqlite3 install #8519

Closed franziskavonalbedyll closed 1 year ago

franziskavonalbedyll commented 1 year ago

Hi there! Hope this is the right place to ask, otherwise I will move this to the poetry community.

Issue

Related Issue Running poetry install -vvv throws me the following exception:

Using virtualenv: /Users/fva/Library/Caches/pypoetry/virtualenvs/temp-FQ5R_Mgl-py3.10
Updating dependencies
Resolving dependencies...
   1: fact: temp is 0.1.0
   1: derived: temp
   1: fact: temp depends on pysqlite (^2.8.3)
   1: selecting temp (0.1.0)
   1: derived: pysqlite (>=2.8.3,<3.0.0)
[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): 1 packages found for pysqlite >=2.8.3,<3.0.0
   1: selecting pysqlite (2.8.3)
   1: Version solving took 0.021 seconds.
   1: Tried 1 solutions.

Finding the necessary packages for the current system
Source (PyPI): 1 packages found for pysqlite >=2.8.3,<3.0.0

Package operations: 1 install, 0 updates, 0 removals

  • Installing pysqlite (2.8.3): Pending...
  • Installing pysqlite (2.8.3): Preparing...
  • Installing pysqlite (2.8.3): Failed

  Stack trace:

  8  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:286 in _execute_operation
      284│
      285│             try:
    → 286│                 result = self._do_execute_operation(operation)
      287│             except EnvCommandError as e:
      288│                 if e.e.returncode == -2:

  7  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:386 in _do_execute_operation
      384│             return 0
      385│
    → 386│         result: int = getattr(self, f"_execute_{method}")(operation)
      387│
      388│         if result != 0:

  6  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:511 in _execute_install
      509│
      510│     def _execute_install(self, operation: Install | Update) -> int:
    → 511│         status_code = self._install(operation)
      512│
      513│         self._save_url_reference(operation)

  5  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:549 in _install
      547│             archive = self._download_link(operation, Link(package.source_url))
      548│         else:
    → 549│             archive = self._download(operation)
      550│
      551│         operation_message = self.get_operation_message(operation)

  4  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:753 in _download
      751│             self._yanked_warnings.append(message)
      752│
    → 753│         return self._download_link(operation, link)
      754│
      755│     def _download_link(self, operation: Install | Update, link: Link) -> Path:

  3  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/executor.py:800 in _download_link
      798│             self._write(operation, message)
      799│
    → 800│             archive = self._chef.prepare(archive, output_dir=output_dir)
      801│
      802│         # Use the original archive to provide the correct hash.

  2  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/chef.py:101 in prepare
       99│             return self._prepare(archive, destination=destination, editable=editable)
      100│
    → 101│         return self._prepare_sdist(archive, destination=output_dir)
      102│
      103│     def _prepare(

  1  /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/chef.py:185 in _prepare_sdist
      183│             destination.mkdir(parents=True, exist_ok=True)
      184│
    → 185│             return self._prepare(
      186│                 sdist_dir,
      187│                 destination,

  TypeError

  Can't instantiate abstract class IsolatedEnv with abstract methods make_extra_environ, python_executable

  at /opt/homebrew/Cellar/poetry/1.6.1_1/libexec/lib/python3.11/site-packages/poetry/installation/chef.py:109 in _prepare
      105│     ) -> Path:
      106│         from subprocess import CalledProcessError
      107│
      108│         with ephemeral_environment(self._env.python) as venv:
    → 109│             env = IsolatedEnv(venv, self._pool)
      110│             builder = ProjectBuilder(
      111│                 directory,
      112│                 python_executable=env.executable,
      113│                 scripts_dir=env.scripts_dir,

I tried different Python- and pysqlite versions. According to the people over at sqlite3, this might be an issue with poetry. I would appreciate your help on this issue.

dimbleby commented 1 year ago

Duplicate #8434, #8458 please close

github-actions[bot] commented 8 months ago

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.