aider
aider copied to clipboard
Unable to install through pip or python
Issue
I get this each time I try installing it through VSCode terminal:
Collecting aider-chat
Using cached aider_chat-0.16.0-py3-none-any.whl.metadata (11 kB)
Collecting aiohttp==3.8.4 (from aider-chat)
Using cached aiohttp-3.8.4.tar.gz (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting aiosignal==1.3.1 (from aider-chat)
Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting async-timeout==4.0.2 (from aider-chat)
Using cached async_timeout-4.0.2-py3-none-any.whl.metadata (4.2 kB)
Collecting attrs==23.1.0 (from aider-chat)
Using cached attrs-23.1.0-py3-none-any.whl.metadata (11 kB)
Collecting certifi==2023.5.7 (from aider-chat)
Using cached certifi-2023.5.7-py3-none-any.whl.metadata (2.2 kB)
Collecting charset-normalizer==3.1.0 (from aider-chat)
Using cached charset_normalizer-3.1.0-py3-none-any.whl.metadata (30 kB)
Collecting frozenlist==1.3.3 (from aider-chat)
Using cached frozenlist-1.3.3.tar.gz (66 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting gitdb==4.0.10 (from aider-chat)
Using cached gitdb-4.0.10-py3-none-any.whl.metadata (1.1 kB)
Collecting GitPython==3.1.31 (from aider-chat)
Using cached GitPython-3.1.31-py3-none-any.whl.metadata (1.3 kB)
Collecting idna==3.4 (from aider-chat)
Using cached idna-3.4-py3-none-any.whl.metadata (9.8 kB)
Collecting markdown-it-py==2.2.0 (from aider-chat)
Using cached markdown_it_py-2.2.0-py3-none-any.whl.metadata (6.8 kB)
Collecting mdurl==0.1.2 (from aider-chat)
Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting multidict==6.0.4 (from aider-chat)
Using cached multidict-6.0.4.tar.gz (51 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting openai==0.27.6 (from aider-chat)
Using cached openai-0.27.6-py3-none-any.whl.metadata (13 kB)
Collecting prompt-toolkit==3.0.38 (from aider-chat)
Using cached prompt_toolkit-3.0.38-py3-none-any.whl.metadata (7.0 kB)
Collecting Pygments==2.15.1 (from aider-chat)
Using cached Pygments-2.15.1-py3-none-any.whl.metadata (2.5 kB)
Collecting requests==2.30.0 (from aider-chat)
Using cached requests-2.30.0-py3-none-any.whl.metadata (4.6 kB)
Collecting rich==13.3.5 (from aider-chat)
Using cached rich-13.3.5-py3-none-any.whl.metadata (18 kB)
Collecting smmap==5.0.0 (from aider-chat)
Using cached smmap-5.0.0-py3-none-any.whl.metadata (4.2 kB)
Collecting tqdm==4.65.0 (from aider-chat)
Using cached tqdm-4.65.0-py3-none-any.whl.metadata (56 kB)
Collecting urllib3==2.0.2 (from aider-chat)
Using cached urllib3-2.0.2-py3-none-any.whl.metadata (6.6 kB)
Collecting wcwidth==0.2.6 (from aider-chat)
Using cached wcwidth-0.2.6-py2.py3-none-any.whl.metadata (11 kB)
Collecting yarl==1.9.2 (from aider-chat)
Using cached yarl-1.9.2.tar.gz (184 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pytest==7.3.1 (from aider-chat)
Using cached pytest-7.3.1-py3-none-any.whl.metadata (7.9 kB)
Collecting tiktoken==0.4.0 (from aider-chat)
Using cached tiktoken-0.4.0.tar.gz (25 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting configargparse (from aider-chat)
Using cached ConfigArgParse-1.7-py3-none-any.whl.metadata (23 kB)
Collecting PyYAML (from aider-chat)
Using cached PyYAML-6.0.2-cp313-cp313-win_amd64.whl.metadata (2.1 kB)
Collecting backoff==2.2.1 (from aider-chat)
Using cached backoff-2.2.1-py3-none-any.whl.metadata (14 kB)
Collecting networkx==3.1 (from aider-chat)
Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)
Collecting diskcache==5.6.1 (from aider-chat)
Using cached diskcache-5.6.1-py3-none-any.whl.metadata (20 kB)
Collecting numpy==1.24.3 (from aider-chat)
Using cached numpy-1.24.3.tar.gz (10.9 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\cli\base_command.py", line 105, in _run_wrapper
status = _inner_run()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\cli\base_command.py", line 96, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\cli\req_command.py", line 67, in wrapper
return func(self, options, args)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\commands\install.py", line 379, in run
requirement_set = resolver.resolve(
reqs, check_supported_wheels=not options.target_dir
)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
~~~~~~~~~~~~~~~~^
collected.requirements, max_rounds=limit_how_complex_resolution_can_be
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 427, in resolve
failure_causes = self._attempt_to_pin_criterion(name)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 239, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 230, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 156, in __bool__
return bool(self._sequence)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 174, in __bool__
return any(self)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 162, in <genexpr>
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 53, in _iter_built
candidate = func()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 186, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
link, template, name, version
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 232, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
~~~~~~~~~~~~~^
link,
^^^^^
...<3 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 303, in __init__
super().__init__(
~~~~~~~~~~~~~~~~^
link=link,
^^^^^^^^^^
...<4 lines>...
version=version,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 158, in __init__
self.dist = self._prepare()
~~~~~~~~~~~~~^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 235, in _prepare
dist = self._prepare_distribution()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 314, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\operations\prepare.py", line 527, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\operations\prepare.py", line 642, in _prepare_linked_requirement
dist = _get_prepared_distribution(
req,
...<3 lines>...
self.check_build_deps,
)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\operations\prepare.py", line 72, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
finder, build_isolation, check_build_deps
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\distributions\sdist.py", line 56, in prepare_distribution_metadata
self._install_build_reqs(finder)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\distributions\sdist.py", line 126, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\distributions\sdist.py", line 103, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\utils\misc.py", line 706, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 166, in get_requires_for_build_wheel
return self._call_hook('get_requires_for_build_wheel', {
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'config_settings': config_settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
})
^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 321, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 77, in _build_backend
obj = import_module(mod_path)
File "C:\Program Files\Python313\Lib\importlib\__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 1022, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-iwa0omke\overlay\Lib\site-packages\setuptools\__init__.py", line 10, in <module>
import distutils.core
ModuleNotFoundError: No module named 'distutils'
Version and model info
No response
Thank you for filing this issue.
Is this a Python 3.13 installation? aider only supports Python 3.9-3.12 currently.
@fry69 thanks, I was just about to downgrade to 3.11, I fixed the earlier error by installing setuptools, but then some other errors appeared, so I figured it's compatibility issues most likely
As this issue appears to be resolved, I'm closing it.
If any new related concerns arise, please feel free to comment, and I'll reopen the issue.