繁体   English   中英

pip 安装mysqlclient:需要Microsoft Visual C++ 14.0

[英]pip install mysqlclient : Microsoft Visual C++ 14.0 is required

当我使用命令时,我正在尝试使用pip为 python 导入mysqlclient
pip install mysqlclient报错:

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\

我已经安装了Microsoft Build Tools 2015 ,但问题仍然存在

您可能需要像这样安装 Python 3 和 MySQL 开发头文件和库:对于 UBUNTU 或 Debian

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

红帽/CentOS

sudo yum install python3-devel mysql-devel

然后尝试

pip install mysqlclient

先安装python 3.6.5,然后运行

pip install mysqlclient==1.3.12

尝试从 wheel 下载并安装。 记下您的 python 版本并下载正确的版本。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

对我来说,它混合了旧的安装工具和缺少的软件包

pip install --upgrade setuptools

apt install gcc libssl-dev

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

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

先试试这个命令

(正确保留空间,即 pip 空间安装空间 --only-binary 空间:所有:空间 mysqlclient)

pip install --only-binary :all: mysqlclient如果仍然有错误,那么试试这个... 转到这个网站Python 扩展包并按 ctrl+F 并搜索 mysqlclient。 你会发现一个像这样的文件名.. mysqlclient‑1.4.5‑cp38‑cp38‑win_amd64.whl

慎重选择---根据python版本给出了选择的步骤。

  1. cp38 表示 python 3.8 版本,cp 37 表示 python 3.6 版本,所以首先检查你的 python 版本是否为 3.8、3.7、3.6、3.5、3.4,然后相应下载。

  2. amd64---在检查python版本的同时还要检查你的python是64位还是32位。 然后相应地选择。 如果你的 python 是 32 位的,那么选择 amd32。

否则你将面临问题。 然后下载文件并使用 pip 命令手动安装。 有以下步骤:-

下载后打开命令提示符并转到该下载文件可用的目录(或更好地剪切该文件并粘贴到您的桌面)并输入: 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

如果你安装 python 64 位更好。 然后pip install mysqlclient将确保工作,否则您可以按照这些步骤步骤使用 python 扩展包进行安装

  1. 安装build-essential

    sudo apt-get install build-essential

  2. 安装mysqlclient

    pip install mysqlclient

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

ARCHFLAGS="-arch x86_64" pip3 install mysqlclient

我在 Debian 11 (Bullseyes) 上遇到了同样的问题。 我通过安装以下缺少的软件包解决了这个问题:

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

然后我就可以用 pip 安装 mysqlclient 了。

当我从 deadsnakes/ppa 存储库安装 python3.8 并使用它创建 virtualenv 时,这发生在我身上。

以上解决方案对我不起作用,安装python3.8-dev后安装成功。

sudo apt install python3.8-dev

在那之后

python3.8 -m pip install mysqlclient==1.3.12

我有同样的问题,我以一种非常愚蠢的方式解决了问题。 我刚刚卸载了 python 并通过 Microsoft Store 安装了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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