问题
i'm tryng to import mysqlclient library for python with pip, when i use the commandpip 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
回答1:
First install python 3.6.5, then run
pip install mysqlclient==1.3.12
回答2:
For me, it was a mixture of an old setup tools and missing packages
pip install --upgrade setuptools
apt install gcc libssl-dev
回答3:
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
回答4:
Try pip install --only-binary :all: mysqlclient
Worked for me
回答5:
First try this command
(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
回答6:
Better if you install python 64-bit. Then pip install mysqlclient
will work sure otherwise you can follow these stepssteps to install using python extension packages
回答7:
Install
build-essential
sudo apt-get install build-essential
Install
mysqlclient
pip install mysqlclient
回答8:
You can set ssl library path explicitly.
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient
回答9:
I had the same problem and I fixed in a really stupid way. I just uninstalled python and installed it through the Microsoft Store.
来源:https://stackoverflow.com/questions/51062920/pip-install-mysqlclient-error