Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac OS 10.13.15上安装MySQL python会导致命令“clang”失败,退出状态为1_Python_Mysql Python - Fatal编程技术网

在Mac OS 10.13.15上安装MySQL python会导致命令“clang”失败,退出状态为1

在Mac OS 10.13.15上安装MySQL python会导致命令“clang”失败,退出状态为1,python,mysql-python,Python,Mysql Python,我已经通过xcode select-install安装了工具,但在执行pip安装MySQL python时仍然显示以下错误 我只是在运行Ansible的模块时解决了这个问题。这个答案帮助我找到了一个解决办法。我还需要来自pip的MySQL-python,这在这个过程中也出现了问题,所以我添加了额外的步骤 解决问题的步骤: brew仅在安装mysql时取消链接,会导致下一步失败 brew安装mysql-connector-c 找到mysql\u配置文件,使用该文件配置mysql\u 编辑mysql

我已经通过xcode select-install安装了工具,但在执行pip安装MySQL python时仍然显示以下错误


我只是在运行Ansible的模块时解决了这个问题。这个答案帮助我找到了一个解决办法。我还需要来自pip的MySQL-python,这在这个过程中也出现了问题,所以我添加了额外的步骤

解决问题的步骤:

brew仅在安装mysql时取消链接,会导致下一步失败 brew安装mysql-connector-c 找到mysql\u配置文件,使用该文件配置mysql\u 编辑mysql_配置文件,在“创建选项”下更改以下内容:

libs=$libs-l

为此:

libs=$libs-lmysqlclient-lssl-lcrypto

如果使用vim,:wq!保存只读文件的步骤

现在安装应该成功运行了

pip安装mysqlclient

单独添加此项,因为它与初始问题类似,但不直接相关

pip安装MySQL-python

修复mysql brew公式(如果在第一步中取消链接)

brew取消mysql-connector-c的链接

brew链接mysql


我知道也许前面的答案已经可以解决这个问题了。但我仍在分享下面的解决方案。如果您不想brew安装任何额外的东西,可以尝试此解决方案

我认为这个问题在很多情况下都会发生,主要与安装关于MySQL的pip包有关。在我的例子中,我在尝试为Django安装mysqlclient时遇到了这个问题

当您安装MySQL并从其官方网站下载dmg时,此解决方案应该可以工作

在这种情况下,您可以在/usr/local/mysql/bin中找到mysql\u config

如果是这样,在~/.bash_概要文件中添加export PATH=/usr/local/mysql/bin:${PATH},这将把mysql的bin文件夹添加到路径中,或者您可以说是环境变量。请注意,mysql可能与您的mysql版本有详细的联系。在我的例子中,路径是/usr/local/mysql-8.0.12-macos10.13-x86_64/bin

保存并关闭文件,然后使用source~/.bash_profile启用更改

再次尝试安装关于MySQL的pip包


如果仍然无法工作,则首选重新启动。

我通过将xcode select设置为使用非xcode命令行工具解决了此问题,如下面的回答所示。我有一个相关的叮当声错误,导致我得到了这个答案

sudo xcode-select --switch /Library/Developer/CommandLineTools

我通过传递OpenSSL路径修复了它:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install mysqlclient

这些答案都不需要那么长的篇幅。正如Vishal所指出的,这就像

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

然后返回安装您的pip install-r requirements.txt,对于我来说,它在第5步仍然失败。所以我通过brew安装openssl来安装openssl,然后我显式地设置了ssl库路径LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient,现在它可以工作了。回答很好。节省了我一天的时间。伟大的感谢提供详细信息。导入MySQLdb会引发一个错误,这是MySQLdb版本1,2,5,'final',1,但\u mysql是版本1,4,2,'post',1,总之,对于不同的MacOS版本,即Catalina 10.15.0和mysql 8.0.18,请注意,不需要执行任何其他步骤。默认情况下,Just brew install mysql和mysql_config应该可见,因为它位于/usr/local/bin,假设/usr/local/bin是PATH环境变量捕获的一部分!给我带来了各种各样的问题。防止您使用上述评论中的标志。谢谢!我在尝试pip安装dbt时遇到了这个问题。这对我有用!类似地,如果使用brew安装mysql_客户端,则可能需要将/usr/local/opt/mysql-client/bin添加到路径中
brew install openssl 
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient