I was able to install pyqt6
, but installing pyqt6-tools
fails with a MemoryError
. One thing to note, memory usage for Python spikes up to 3GB.
Here is the output of running pip install pyqt6-tools
:
Collecting pyqt6-tools
Using cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl.metadata (8.3 kB)
Collecting click (from pyqt6-tools)
Using cached click-8.2.1-py3-none-any.whl.metadata (2.5 kB)
Collecting pyqt6==6.4.2 (from pyqt6-tools)
Using cached PyQt6-6.4.2-cp37-abi3-win_amd64.whl.metadata (2.2 kB)
INFO: pip is looking at multiple versions of pyqt6-tools to determine which version is compatible with other requirements. This could take a while.
Collecting pyqt6-tools
Using cached pyqt6_tools-6.3.1.3.3-py3-none-any.whl.metadata (8.3 kB)
Collecting pyqt6==6.3.1 (from pyqt6-tools)
Using cached PyQt6-6.3.1-cp37-abi3-win_amd64.whl.metadata (2.2 kB)
Collecting pyqt6-tools
Using cached pyqt6_tools-6.1.0.3.2-py3-none-any.whl.metadata (8.3 kB)
Collecting pyqt6==6.1.0 (from pyqt6-tools)
Using cached PyQt6-6.1.0.tar.gz (946 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
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 68, in wrapper
return func(self, options, args)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\commands\install.py", line 387, 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 96, 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\resolution.py", line 515, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 444, in resolve
failure_criterion = self._attempt_to_pin_criterion(name)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 211, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 202, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\resolvers\resolution.py", line 141, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 194, in __bool__
return bool(self._sequence)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 163, in __bool__
self._bool = any(self)
~~~^^^^^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 147, 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 37, in _iter_built
candidate = func()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 187, 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 233, 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 306, 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 159, in __init__
self.dist = self._prepare()
~~~~~~~~~~~~~^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 236, in _prepare
dist = self._prepare_distribution()
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 317, 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 532, 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 647, 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 71, 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 69, in prepare_distribution_metadata
self.req.prepare_metadata()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\req\req_install.py", line 575, in prepare_metadata
self.metadata_directory = generate_metadata(
~~~~~~~~~~~~~~~~~^
build_env=self.build_env,
^^^^^^^^^^^^^^^^^^^^^^^^^
backend=self.pep517_backend,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
details=details,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\operations\build\metadata.py", line 34, in generate_metadata
distinfo_dir = backend.prepare_metadata_for_build_wheel(metadata_dir)
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\utils\misc.py", line 723, in prepare_metadata_for_build_wheel
return super().prepare_metadata_for_build_wheel(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
metadata_directory=metadata_directory,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
config_settings=cs,
^^^^^^^^^^^^^^^^^^^
_allow_fallback=_allow_fallback,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 224, in prepare_metadata_for_build_wheel
return self._call_hook(
~~~~~~~~~~~~~~~^
"prepare_metadata_for_build_wheel",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
},
^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 392, in _call_hook
self._subprocess_runner(
~~~~~~~~~~~~~~~~~~~~~~~^
[python, abspath(str(script)), hook_name, td],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cwd=self.source_dir,
^^^^^^^^^^^^^^^^^^^^
extra_environ=extra_environ,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\utils\subprocess.py", line 237, in runner
call_subprocess(
~~~~~~~~~~~~~~~^
cmd,
^^^^
...<3 lines>...
spinner=spinner,
^^^^^^^^^^^^^^^^
)
^
File "C:\Program Files\Python313\Lib\site-packages\pip\_internal\utils\subprocess.py", line 151, in call_subprocess
line: str = proc.stdout.readline()
~~~~~~~~~~~~~~~~~~~~^^
MemoryError
I have only 8GB of RAM so maybe this is not enough? I am on Qt version 6.9
pyqt6-tools
depends on pyqt6-plugins
, pyqt6-plugins
was last released in 2023, python313
was not around in 2023, so pypi has no pyqt6-plugins
wheels for python313
(only for python311
), so pip downloads source of said plugins and tries to compile it, and pyqt6
as well (I guess you cannot compile plugins without compiling the whole qt). And that requires a lot of time and memory.
What you can do instead:
If you only need qtcreator
you can download if from github.com