Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory #570

Closed
Daniel15 opened this issue Oct 18, 2019 · 6 comments

Comments

@Daniel15
Copy link

I'm getting this error:

Traceback (most recent call last):
  File "/var/www/powerdns-admin/flask/bin/flask", line 10, in <module>
    sys.exit(main())
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask/cli.py", line 894, in main
    cli.main(args=args, prog_name=name)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask/cli.py", line 557, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask/cli.py", line 412, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask_migrate/cli.py", line 134, in upgrade
    _upgrade(directory, revision, sql, tag, x_arg)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask_migrate/__init__.py", line 95, in wrapped
    f(*args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/flask_migrate/__init__.py", line 280, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/alembic/command.py", line 276, in upgrade
    script.run_env()
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/alembic/script/base.py", line 475, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 90, in load_python_file
    module = load_module_py(module_id, path)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/alembic/util/compat.py", line 177, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "migrations/env.py", line 88, in <module>
    run_migrations_online()
  File "migrations/env.py", line 70, in run_migrations_online
    poolclass=pool.NullPool)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/sqlalchemy/engine/__init__.py", line 478, in engine_from_config
    return create_engine(url, **options)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/sqlalchemy/engine/__init__.py", line 435, in create_engine
    return strategy.create(*args, **kwargs)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 87, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 118, in dbapi
    return __import__("MySQLdb")
  File "/var/www/powerdns-admin/flask/lib/python3.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory

Any ideas how to resolve it? Unfortunately I'm not very experienced with Python :(

@Daniel15
Copy link
Author

Uninstalling and reinstalling the module seemed to fix it:

sudo -H pip uninstall mysqlclient
pip install -r requirements.txt

@fabio-filho
Copy link

@Daniel15 , did you discover the reason ?

@Daniel15
Copy link
Author

@fabio-filho I didn't dig into it too deeply, but simply uninstalling and reinstalling mysqlclient was enough to fix it. My guess is that an update of the packages on my server resulted in libmysqlclient being updated, and an older version of the Python module wasn't compatible with it any more.

@philippeowagner
Copy link

I compiled MySQL from scratch. Had to make the lib available manually by added /usr/local/mysql/lib/ to /etc/ld.so.conf.d/mysqld.conf using echo /usr/local/mysql/lib/ > /etc/ld.so.conf.d/mysqld.conf and reloaded using sudo ldconfig.

@beyrons
Copy link

beyrons commented Aug 25, 2021

Suddenly someone will come in handy:

You may need to install the Python 3 and MySQL development headers and libraries like so:
$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubunt

Then you can install mysqlclient via pip now:
$ pip install mysqlclient

source :: https://pypi.org/project/mysqlclient/

@Rohit44647
Copy link

thankyou @beyrons it worked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants