Closed Hblust closed 9 months ago
I need more info. distutils is not in the product or dev requirements.txt files and is also not in my build environment:
Can you give more context on where the import line is coming from?
NP, here's the full output from running 'pip install GarminDB. Please forgive any unforced rookie errors.
`C:\Users\hblust>pip install garminDB Defaulting to user installation because normal site-packages is not writeable Collecting garminDB Using cached garmindb-3.5.0-py3-none-any.whl.metadata (7.5 kB) Collecting SQLAlchemy==2.0.19 (from garminDB) Using cached SQLAlchemy-2.0.19-py3-none-any.whl.metadata (9.4 kB) Collecting requests==2.31.0 (from garminDB) Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB) Requirement already satisfied: python-dateutil==2.8.2 in c:\users\hblust\appdata\roaming\python\python313\site-packages (from garminDB) (2.8.2) Collecting cached-property==1.5.2 (from garminDB) Using cached cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB) Collecting tqdm==4.65.1 (from garminDB) Using cached tqdm-4.65.1-py3-none-any.whl.metadata (56 kB) Collecting matplotlib==3.7.2 (from garminDB) Using cached matplotlib-3.7.2.tar.gz (38.1 MB) Installing build dependencies ... error error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 2
╰─> [115 lines of output]
Collecting certifi>=2020.06.20
Using cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting oldest-supported-numpy
Using cached oldest_supported_numpy-2023.10.25-py3-none-any.whl.metadata (9.8 kB)
Collecting pybind11>=2.6
Using cached pybind11-2.11.1-py3-none-any.whl.metadata (9.5 kB)
Collecting setuptools>=42
Using cached setuptools-68.2.2-py3-none-any.whl.metadata (6.3 kB)
Collecting setuptools_scm>=7
Using cached setuptools_scm-8.0.4-py3-none-any.whl.metadata (6.4 kB)
Collecting numpy (from oldest-supported-numpy)
Using cached numpy-1.25.2.tar.gz (10.8 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\cli\base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\cli\req_command.py", line 245, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\commands\install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\resolvers.py", line 427, in resolve
failure_causes = self._attempt_to_pin_criterion(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\resolvers.py", line 239, in _attempt_to_pin_criterion
criteria = self._get_updated_criteria(candidate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\resolvers.py", line 230, in _get_updated_criteria
self._add_to_criteria(criteria, requirement, parent=candidate)
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_vendor\resolvelib\structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "C:\Users\hblust\AppData\Roaming\Python\Python313\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 143, in
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully. │ exit code: 2 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.`
Ok, so GarminDb pins matplotlib==3.7.2 which requires numpy-1.25.2.tar.gz. On your system matplotlib==3.7.2 requires distutils.core, but not on my system. I don't have an immediate answer on why this is happening. Can you run GarminDb in a virtual environment (venv) with 3.11? GarminDb is currently tested with 3.11.
Please retry with 3.5.1+. The main package no longer has a dependency on matplotlib.
Describe the bug Install of GarminDB fails while looking for module named distutils
To Reproduce Steps to reproduce the behavior:
Expected behavior expected complete install of GarminDB. Looks like GarminDB requires the now deprecated 'distutils' versus the newer setuptools
Logs Please include a copy of screen logging and garmin.log.
Please run bugreport.sh and attach bugreport.zip.
Additional context Add any other context about the problem here.