holmesgpt icon indicating copy to clipboard operation
holmesgpt copied to clipboard

pipx install holmes fails due to MySQL dependency

Open Munken opened this issue 3 months ago • 4 comments

What happened?

pipx install holmes
Fatal error from pip prevented installation. Full pip output in file:
    /home/mmu/.local/state/pipx/log/cmd_2025-09-28_20.48.14_pip_errors.log

pip seemed to fail to build package:
    mysql-python<1.3.0,>=1.2.5

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    ModuleNotFoundError: No module named 'ConfigParser'

Error installing holmes.

What did you expect to happen?

It installed

How can we reproduce it (as minimally and precisely as possible)?

Running this on Ubuntu 24.04.1 LTS with python 3.

Anything else we need to know?

Suggested workaround here: https://stackoverflow.com/a/23978968

Munken avatar Sep 28 '25 19:09 Munken

@Munken thanks for reporting, what is your python version?

aantn avatar Sep 30 '25 10:09 aantn

@aantn I'm running 3.12.3 installed via apt

Munken avatar Sep 30 '25 18:09 Munken

@Munken , can you try the below . I am giving command for windows , try to change for mac

python -m venv holmes-env source holmes-env/bin/activate # on Windows: holmes-env\Scripts\activate pip install holmes

Then try if it fails pip install mysqlclient

then the below

pip install holmes

bala93kumar avatar Oct 05 '25 18:10 bala93kumar

Same issue.

mmu@BD-PF50ZARR:~$ cd .virtualenvs/
mmu@BD-PF50ZARR:~/.virtualenvs$ python -m venv holmes-env
Command 'python' not found, did you mean:
  command 'python3' from deb python3
  command 'python' from deb python-is-python3
mmu@BD-PF50ZARR:~/.virtualenvs$ python3 -m venv holmes-env
mmu@BD-PF50ZARR:~/.virtualenvs$ source ^C
mmu@BD-PF50ZARR:~/.virtualenvs$ ls
BD-Azure-change-management  Early-Research-Cobol-Migration-Factory  ahx-kube-helper  ahx-wise-llama  conv  holmes-env
mmu@BD-PF50ZARR:~/.virtualenvs$ source holmes-env/bin/activate
(holmes-env) mmu@BD-PF50ZARR:~/.virtualenvs$ pip install holmes
Collecting holmes
  Using cached holmes-0.15.16.tar.gz (396 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting derpconf<0.7.0,>=0.6.0 (from holmes)
  Using cached derpconf-0.6.0.tar.gz (5.8 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting tornado<3.3.0,>=3.2.2 (from holmes)
  Using cached tornado-3.2.2.tar.gz (405 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cow-framework<0.9.0,>=0.8.0 (from holmes)
  Using cached cow-framework-0.8.9.tar.gz (9.0 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting ujson<1.34.0,>=1.33 (from holmes)
  Using cached ujson-1.33.zip (197 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting requests<2.3.0,>=2.2.1 (from holmes)
  Using cached requests-2.2.1-py2.py3-none-any.whl.metadata (31 kB)
Collecting lxml<3.4.0,>=3.3.3 (from holmes)
  Using cached lxml-3.3.6.tar.gz (3.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cssselect<0.10.0,>=0.9.1 (from holmes)
  Using cached cssselect-0.9.2-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting sheep<0.4.0,>=0.3.10 (from holmes)
  Using cached sheep-0.3.11.tar.gz (3.2 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pycurl<7.20.0,>=7.19.0 (from holmes)
  Using cached pycurl-7.19.5.3.tar.gz (154 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting alembic<0.7.0,>=0.6.3 (from holmes)
  Using cached alembic-0.6.7.tar.gz (467 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting mysql-python<1.3.0,>=1.2.5 (from holmes)
  Using cached MySQL-python-1.2.5.zip (108 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [22 lines of output]
      Traceback (most recent call last):
        File "/home/mmu/.virtualenvs/holmes-env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/mmu/.virtualenvs/holmes-env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/mmu/.virtualenvs/holmes-env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-8pw4em19/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-8pw4em19/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-8pw4em19/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 512, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-8pw4em19/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
        File "<string>", line 13, in <module>
        File "/tmp/pip-install-gsj3_ma1/mysql-python_3a5ecb19abd6427a8f411dbc82fa3ff1/setup_posix.py", line 2, in <module>
          from ConfigParser import SafeConfigParser
      ModuleNotFoundError: No module named 'ConfigParser'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
(holmes-env) mmu@BD-PF50ZARR:~/.virtualenvs$ pip install mysqlclient
Collecting mysqlclient
  Downloading mysqlclient-2.2.7.tar.gz (91 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 91.4/91.4 kB 1.1 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: mysqlclient
  Building wheel for mysqlclient (pyproject.toml) ... done
  Created wheel for mysqlclient: filename=mysqlclient-2.2.7-cp312-cp312-linux_x86_64.whl size=129072 sha256=c62ba8008b166d570283448db94efcf4f9c7f608ac57d2054a33e65875044c80
  Stored in directory: /home/mmu/.cache/pip/wheels/27/95/18/7f176fffd46629e710c04c810b9c4d7d4358fe7c96a7d2306d
Successfully built mysqlclient
Installing collected packages: mysqlclient
Successfully installed mysqlclient-2.2.7
(holmes-env) mmu@BD-PF50ZARR:~/.virtualenvs$ pip install holmes
Collecting holmes
  Using cached holmes-0.15.16.tar.gz (396 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting derpconf<0.7.0,>=0.6.0 (from holmes)
  Using cached derpconf-0.6.0.tar.gz (5.8 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting tornado<3.3.0,>=3.2.2 (from holmes)
  Using cached tornado-3.2.2.tar.gz (405 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cow-framework<0.9.0,>=0.8.0 (from holmes)
  Using cached cow-framework-0.8.9.tar.gz (9.0 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting ujson<1.34.0,>=1.33 (from holmes)
  Using cached ujson-1.33.zip (197 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting requests<2.3.0,>=2.2.1 (from holmes)
  Using cached requests-2.2.1-py2.py3-none-any.whl.metadata (31 kB)
Collecting lxml<3.4.0,>=3.3.3 (from holmes)
  Using cached lxml-3.3.6.tar.gz (3.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cssselect<0.10.0,>=0.9.1 (from holmes)
  Using cached cssselect-0.9.2-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting sheep<0.4.0,>=0.3.10 (from holmes)
  Using cached sheep-0.3.11.tar.gz (3.2 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pycurl<7.20.0,>=7.19.0 (from holmes)
  Using cached pycurl-7.19.5.3.tar.gz (154 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting alembic<0.7.0,>=0.6.3 (from holmes)
  Using cached alembic-0.6.7.tar.gz (467 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting mysql-python<1.3.0,>=1.2.5 (from holmes)
  Using cached MySQL-python-1.2.5.zip (108 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

Munken avatar Oct 06 '25 19:10 Munken