Install mysqlclient via pipenv throw errors

Question:

I’m using django and mysql.

To communicate django with mysql, have to install mysqlclient.

Also python version is 3.7.2

pipenv install mysqlclient

it throws errors.

Installing mysqlclient...
✔ Installation Succeeded 
Pipfile.lock (c98c3a) out of date, updating to (a65489)...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
✔ Success! 
Updated Pipfile.lock (c98c3a)!
Installing dependencies from Pipfile.lock (c98c3a)...
An error occurred while installing mysqlclient==1.4.2.post1 --hash=sha256:425e733b05e359a714d6007c0fc44582be66b63e5a3df0a50949274ae16f4bc6 --hash=sha256:62e4770b6a797b9416bcf70488365b7d6b9c9066878108499c559293bb464380 --hash=sha256:f257d250f2675d0ef99bd318906f3cfc05cef4a2f385ea695ff32a3f04b9f9a7! Will try again.
      ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:02
Installing initially failed dependencies...
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python2.7/site-packages/pipenv/core.py", line 1992, in do_install
[pipenv.exceptions.InstallError]:       skip_lock=skip_lock,
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python2.7/site-packages/pipenv/core.py", line 1253, in do_init
[pipenv.exceptions.InstallError]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python2.7/site-packages/pipenv/core.py", line 859, in do_install_dependencies
[pipenv.exceptions.InstallError]:       retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python2.7/site-packages/pipenv/core.py", line 763, in batch_install
[pipenv.exceptions.InstallError]:       _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python2.7/site-packages/pipenv/core.py", line 681, in _cleanup_procs
[pipenv.exceptions.InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
[pipenv.exceptions.InstallError]: ['Collecting mysqlclient==1.4.2.post1 (from -r /var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pipenv-bV3RGM-requirements/pipenv-bOkuhH-requirement.txt (line 1))', '  Using cached https://files.pythonhosted.org/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlclient-1.4.2.post1.tar.gz', 'Building wheels for collected packages: mysqlclient', '  Building wheel for mysqlclient (setup.py): started', "  Building wheel for mysqlclient (setup.py): finished with status 'error'", '  Running setup.py clean for mysqlclient', 'Failed to build mysqlclient', 'Installing collected packages: mysqlclient', '  Running setup.py install for mysqlclient: started', "    Running setup.py install for mysqlclient: finished with status 'error'"]
[pipenv.exceptions.InstallError]: ['ERROR: Complete output from command /Users/hide/.local/share/virtualenvs/horang-mnXaGoVY/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-install-83zphs9u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-wheel-jhcy1h95 --python-tag cp37:', '  ERROR: running bdist_wheel', '  running build', '  running build_py', '  creating build', '  creating build/lib.macosx-10.14-x86_64-3.7', '  creating build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/_exceptions.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/compat.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/connections.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/converters.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/cursors.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/release.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  copying MySQLdb/times.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '  creating build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/CR.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/ER.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '  warning: build_py: byte-compiling is disabled, skipping.', '  ', '  running build_ext', "  building 'MySQLdb._mysql' extension", '  creating build/temp.macosx-10.14-x86_64-3.7', '  creating build/temp.macosx-10.14-x86_64-3.7/MySQLdb', "  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 -I/usr/local/opt/[email protected]/include/mysql -I/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c MySQLdb/_mysql.c -o build/temp.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.o", '  clang -bundle -undefined dynamic_lookup -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk build/temp.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.o -L/usr/local/opt/[email protected]/lib -lmysqlclient -lssl -lcrypto -o build/lib.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.cpython-37m-darwin.so', '  ld: library not found for -lssl', '  clang: error: linker command failed with exit code 1 (use -v to see invocation)', "  error: command 'clang' failed with exit status 1", '  ----------------------------------------', '  ERROR: Failed building wheel for mysqlclient', '    ERROR: Complete output from command /Users/hide/.local/share/virtualenvs/horang-mnXaGoVY/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-install-83zphs9u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-record-t6u87iq3/install-record.txt --single-version-externally-managed --compile --install-headers /Users/hide/.local/share/virtualenvs/horang-mnXaGoVY/bin/../include/site/python3.7/mysqlclient:', '    ERROR: running install', '    running build', '    running build_py', '    creating build', '    creating build/lib.macosx-10.14-x86_64-3.7', '    creating build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/_exceptions.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/compat.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/connections.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/converters.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/cursors.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/release.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    copying MySQLdb/times.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb', '    creating build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/CR.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/ER.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.14-x86_64-3.7/MySQLdb/constants', '    warning: build_py: byte-compiling is disabled, skipping.', '    ', '    running build_ext', "    building 'MySQLdb._mysql' extension", '    creating build/temp.macosx-10.14-x86_64-3.7', '    creating build/temp.macosx-10.14-x86_64-3.7/MySQLdb', "    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 -I/usr/local/opt/[email protected]/include/mysql -I/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c MySQLdb/_mysql.c -o build/temp.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.o", '    clang -bundle -undefined dynamic_lookup -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk build/temp.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.o -L/usr/local/opt/[email protected]/lib -lmysqlclient -lssl -lcrypto -o build/lib.macosx-10.14-x86_64-3.7/MySQLdb/_mysql.cpython-37m-darwin.so', '    ld: library not found for -lssl', '    clang: error: linker command failed with exit code 1 (use -v to see invocation)', "    error: command 'clang' failed with exit status 1", '    ----------------------------------------', 'ERROR: Command "/Users/hide/.local/share/virtualenvs/horang-mnXaGoVY/bin/python3.7 -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-install-83zphs9u/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-record-t6u87iq3/install-record.txt --single-version-externally-managed --compile --install-headers /Users/hide/.local/share/virtualenvs/horang-mnXaGoVY/bin/../include/site/python3.7/mysqlclient" failed with error code 1 in /private/var/folders/ll/4ql5wb555rqb9xcsdzr624b80000gn/T/pip-install-83zphs9u/mysqlclient/']
ERROR: ERROR: Package installation failed...

I tried pipenv install mysqlclient==1.13.13, it doens’t work too.

Is there any solution here?

Thanks.

Asked By: Hide

||

Answers:

I had to install these 3 packages first to get it to work for me:

  • python3-dev
  • libmysqlclient-dev
  • libssl-dev

Especially true if you are on a cloud server where they strip the OS down a bit.
Heres the copy paste command:

sudo apt install -y python3-dev libmysqlclient-dev libssl-dev

Fews years later update: Having gone down the road of pipenv, I don’t recommend it, I now use venv

Answered By: run_the_race

Install the following packages:

sudo apt-get install python3.7-dev libmysqlclient-dev

Note that you need python3.7-dev not python3-dev.

Then run:

pipenv install
Answered By: Derek C

SOLVED

brew install openssl
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient

I’m using OSX Mojave and I think it caused by osx version.

Answered By: Hide

for anyone coming here using ubuntu 19.10 a quick:

sudo apt-get install libmysqlclient-dev

followed by

pipenv install mysqlclient

this solved it for me.

Answered By: Maik Ro

if you’re on mac, just update/install your brew and then run the same command it will work

  • if you get the shallow clone error
    -perform unshallow commands and then hit the brew command.

post all that, come back and run the sudo pipenv install mysqlclient

Answered By: StenZiL Pandey
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.