skip to Main Content

I want to use mysql in Django and I should install mysqlclient package in virtual env.
My OS is Ubuntu 20.

I run:

pip install mysqlclient

but I am getting this error :

Collecting mysqlclient
  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
  ╰─> [24 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 "/home/caspian/Desktop/projects/django_project4/django-react1/React-Django-To-Do-App/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/caspian/Desktop/projects/django_project4/django-react1/React-Django-To-Do-App/lib/python3.8/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/caspian/Desktop/projects/django_project4/django-react1/React-Django-To-Do-App/lib/python3.8/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-l_o48981/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/pip-build-env-l_o48981/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-l_o48981/overlay/lib/python3.8/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.

2

Answers


  1. The instructions
    for building are pretty clear.
    You need to make some developer packages available,
    and you didn’t.
    These include default-libmysqlclient-dev.

    After you have done that, you can attempt

    $ pip install mysqlclient
    

    You might prefer to install from a binary wheel,
    or from conda forge.

    Login or Signup to reply.
  2. Try this:

    sudo apt-get update
    
    sudo apt-get install libmysqlclient-dev
    
    sudo apt-get install python3-dev libssl-dev
    
    pip install mysqlclient
    

    After installing mysqlclient verify if the import proceeds successfully as a test.

    python -c "import MySQLdb"
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search