简体   繁体   中英

pip install mysqlclient : Microsoft Visual C++ 14.0 is required

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

先安装python 3.6.5,然后运行

pip install mysqlclient==1.3.12

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

安装以下软件包,它将解决问题。

apt-get install python3-dev default-libmysqlclient-dev build-essential

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.

  1. 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.

  2. 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

尝试 pip install --only-binary :all: mysqlclient为我工作

您可以显式设置 ssl 库路径。

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

Better if you install python 64-bit. Then pip install mysqlclient will work sure otherwise you can follow these steps steps to install using python extension packages

  1. Install build-essential

    sudo apt-get install build-essential

  2. Install mysqlclient

    pip install mysqlclient

我在 MacOs Catalina 上遇到了类似的问题,解决了这个问题:

ARCHFLAGS="-arch x86_64" pip3 install mysqlclient

I had the same issue on Debian 11 (Bullseyes). I resolved it by installing the following missing packages:

sudo apt-get install libmariadb-dev-compat libmariadb-dev libssl-dev

I was then able to install mysqlclient with pip.

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

I had the same problem and I fixed in a really stupid way. I just uninstalled python and installed it through the Microsoft Store.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM