pythonlibmysqlclient

How can i install libmysqlclient in vsc while in a venv when i get this error?


I have tried pretty much everything on here, github and other more shady website, but the venv wont install mysqlclient in vsc. I have a django project where i cant connect to the mysql db.

Using a macbook pro 2019, mysql is installed and running.

I get this error:

Collecting mysql
  Downloading mysql-0.0.3-py3-none-any.whl (1.2 kB)
Collecting mysqlclient (from mysql)
  Using cached mysqlclient-2.2.1.tar.gz (89 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
  ╰─> [27 lines of output]
      Trying pkg-config --exists mysqlclient
      Command 'pkg-config --exists mysqlclient' returned non-zero exit status 1.
      Trying pkg-config --exists mariadb
      Command 'pkg-config --exists mariadb' returned non-zero exit status 1.
      Trying pkg-config --exists libmariadb
      Command 'pkg-config --exists libmariadb' returned non-zero exit status 1.
      Traceback (most recent call last):
        File 
"/builddjango/capstoneVenv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File 
"/builddjango/capstoneVenv/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 
"/builddjango/capstoneVenv/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 "/private/var/folders/f2/kl4ptcws6p7_mn30tn5ktzk00000gn/T/pip-build-env-r64v109l/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/f2/kl4ptcws6p7_mn30tn5ktzk00000gn/T/pip-build-env-r64v109l/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/f2/kl4ptcws6p7_mn30tn5ktzk00000gn/T/pip-build-env-r64v109l/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 155, in <module>
        File "<string>", line 49, in get_config_posix
        File "<string>", line 28, in find_package_name
      Exception: Can not find valid pkg-config name.
      Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
      [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.

Things i have tried:

MYSQLCLIENT_CFLAGS="-I/usr/local/include/mysql" 
MYSQLCLIENT_LDFLAGS="-L/usr/local/lib/mysql -lmysqlclient" pip3 install -U
mysqlclient

pip install --no-cache mysqlclient==2.2.0rc1

brew install pkg-config 
export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"

++

Is there anyone who can. think of what the problem is?


Solution

  • The Project description of this package on PyPi states:

    This package is a ‘virtual package’, which requires MySQL-python (Python 2) or mysqlclient (Python 3) to install. In effect, this means ‘pip install mysql’ will actually install MySQL-python. Instead of depending on this package, please depend on the relevant package directly. See also: - https://pypi.python.org/pypi/MySQL-python - https://pypi.python.org/pypi/mysqlclient

    Since you're using Python 3.12, You want to look at https://pypi.org/project/mysqlclient/.

    macOS (Homebrew) Install MySQL and mysqlclient:

    $ # Assume you are activating Python 3 venv
    $ brew install mysql pkg-config
    $ pip install mysqlclient
    

    If you don't want to install MySQL server, you can use mysql-client instead:

    $ # Assume you are activating Python 3 venv
    $ brew install mysql-client pkg-config
    $ export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client/lib/pkgconfig"
    $ pip install mysqlclient