Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
i'm tryng to import
mysqlclient
library for python with
pip
, when i use the command
pip install mysqlclient
it return an error:
Collecting mysqlclient
Using cached https://files.pythonhosted.org/packages/ec/fd/83329b9d3e14f7344d1cb31f128e6dbba70c5975c9e57896815dbb1988ad/mysqlclient-1.3.13.tar.gz
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient ... error
Complete output from command c:\users\astrina\appdata\local\programs\python\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\astrina\\AppData\\Local\\Temp\\pip-install-40l_x_f4\\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 C:\Users\astrina\AppData\Local\Temp\pip-record-va173t5v\install-record.txt --single-version-externally-managed --compile:
c:\users\astrina\appdata\local\programs\python\python36\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
warnings.warn(msg)
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
copying _mysql_exceptions.py -> build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\__init__.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\compat.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\connections.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\converters.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\cursors.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\release.py -> build\lib.win-amd64-3.6\MySQLdb
copying MySQLdb\times.py -> build\lib.win-amd64-3.6\MySQLdb
creating build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\CR.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\ER.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-3.6\MySQLdb\constants
copying MySQLdb\constants\REFRESH.py -> build\lib.win-amd64-3.6\MySQLdb\constants
running build_ext
building '_mysql' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
----------------------------------------
Command "c:\users\astrina\appdata\local\programs\python\python36\python.exe -u -c "import setuptools,
tokenize;__file__='C:\\Users\\astrina\\AppData\\Local\\Temp\\pip-install-
40l_x_f4\\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 C:\Users\astrina\AppData\Local\Temp\pip-
record-va173t5v\install-record.txt --single-version-externally-managed --
compile" failed with error code 1 in C:\Users\astrina\AppData\Local\Temp\pip-
install-40l_x_f4\mysqlclient\
I've already installed Microsoft Build Tools 2015 but the problem persist
You may need to install the Python 3 and MySQL development headers and libraries like so:
For UBUNTU or Debian
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
Red Hat / CentOS
sudo yum install python3-devel mysql-devel
Then try
pip install mysqlclient
–
Try download and install from wheel instead. Take note of your python version and download the correct one.
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
–
–
–
For me, it was a mixture of an old setup tools and missing packages
pip install --upgrade setuptools
apt install gcc libssl-dev
–
(keep space properly ie, pip space install space --only-binary
space :all: space mysqlclient)
pip install --only-binary :all: mysqlclient
if still error then try this...
Go to this website Python Extension package and press ctrl+F and search mysqlclient. You will find a file name like this..
mysqlclient‑1.4.5‑cp38‑cp38‑win_amd64.whl
Choose carefully ---According to python version
There is a step given to choose it.
cp38 means for python 3.8 version and cp 37 means for python 3.6 version so first check your python version wether it is 3.8,3.7,3.6,3.5,3.4 then download accordingly.
amd64--- while checking python version also check whether your python is of 64-bit or 32-bit. then select accordingly. If your python is of 32-bit then select amd32.
Otherwise you will face problem.
Then download the file and install it manually using pip command.
There are steps given below:-
After download open command prompt and go to that directory where that downloaded file available( or better to cut that file and paste into your desktop) and type:
NOTE :- PLEASE TYPE AFTER DOWNLOAD THE FILE...
This is for python 3.8 and 64-bit
$ pip install mysqlclient‑1.4.5‑cp38‑cp38‑win_amd64.whl
For python 3.7 and 32-bit
$ pip install mysqlclient‑1.4.5‑cp37‑cp37m‑win32.whl
This happened to me when I installed python3.8 from deadsnakes/ppa repository and created virtualenv using it.
Above solutions didn't work for me and after installing python3.8-dev
it is installed successfully.
sudo apt install python3.8-dev
After that
python3.8 -m pip install mysqlclient==1.3.12
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.