29

长话短说,当我写以下内容时:

sudo easy_install MySQL-python

我得到错误

环境错误:找不到 mysql_config

好的,所以有很多关于如何解决这个问题的线程等,所以我运行这个代码:

export PATH=$PATH:/usr/local/mysql/bin

然后我重新运行我的 sudo 代码:

sudo easy_install MySQL-python

然后我收到以下错误。

安装脚本退出并出现错误:命令“llvm-gcc-4.2”失败,退出状态为 1

谷歌/堆栈溢出,我被告知下载我前几天做的GCC包,大约 200 MB 左右,但仍然没有修复。

在这一点上我迷失了,他们说精神错乱是一遍又一遍地做同样的事情,同时期待不同的结果。好吧,我一直在运行上述代码,期望得到不同的结果,所以我离发疯不远了。

在我的 Python 职业生涯的这个阶段,我是新手,但我愿意尝试几乎任何事情来让它运行起来。

如果它有助于我正式运行 Mac OS X 10.7.5,并且我确实安装了MAMP(这是一个问题吗?)

另外,前几天我第一次尝试所有这些时,我安装(重新安装?)MySQL,所以我在这一点上真的很困难。

有解决办法吗?

我绞尽脑汁,搜索谷歌,阅读堆栈溢出,并花了几个小时试图弄清楚这一点,但无济于事。

4

15 回答 15

56

这是我要安装的,特别是如果你想使用homebrew

  • XCode 和命令行工具(由@7stud、@kjti 建议)
  • 安装自制软件
  • brew install mysql-connector-c
  • pip install mysql-python
于 2014-09-18T18:36:54.263 回答
27

另一种选择是使用pymysql,它是与 MySQL 的纯 Python 客户端连接,因此您不必乱编译,这是一个很好的练习,但如果您只是想完成某件事,它可能会令人沮丧。pymysql 遵循与 MySQLdb 相同的 API,它基本上可以用作替代品。

此外,它曾经是 MySQLdb,不适用于 Python 3,但这可能已经改变,pymysql 没有那个问题,这也导致我切换,但这可能已经改变。pymysql 可能比 MySQLdb 慢,但你必须看看你是否注意到,它也使用不同的许可证(pymysql 为 MIT,MySQLdb 为 GPL)

于 2013-04-24T13:32:36.710 回答
12

通过homebrew安装 mysql ,然后你可以通过 pip 安装 mysql python。

pip install MySQL-python

这个对我有用。

于 2014-08-18T03:46:50.483 回答
12

对于 Python 3+,该mysql-python库已损坏。相反,请使用mysqlclient 库Install with: pip install mysqlclient

它是支持 Python 3+的 mysql-python(也称为 MySQLdb )的一个分支

这个库与 MySQL 客户端的 C 接口对话,比纯 python pymysql 库更快。

注意:您需要安装 mysql-developer 工具。在 Mac 上执行此操作的一种简单方法是运行

brew install mysql-connector-c

将此任务委托给自制软件。如果您使用的是 linux,则可以通过mysqlclient github 页面上的说明安装这些。

于 2017-01-04T23:20:41.123 回答
5

我正在使用 OSX -v 10.10.4。上面的解决方案是一个快速简单的.

发生的 OSX 默认没有连接库。

首先,您应该安装连接器:

brew install mysql-connector-c

然后用 pip mysql 安装

pip install mysql-python
于 2015-07-07T16:26:57.323 回答
3

在 Mojave 上,我在查找 SSL 库时遇到了错误,这就是最终无需修改即可工作的方法mysql_config

sudo pip install MySQL-Python --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib"

希望这可以为某人节省几个小时的心痛

于 2018-12-21T21:09:03.693 回答
3

安装 PyMySQL

安装点子 =>sudo easy_install pip

安装 PyMySQL=>sudo easy_install-3.7 pymysql

终端命令检查是否安装=>pip3 list

或者

安装 PyMySQL=>sudo pip install PyMySQL

终端命令检查是否安装=>pip3 list

MySQL

macOS Sierra Public Beta 无法与 MySQL 5.7.x 配合使用,但现在这些问题已通过使用 MySQL 5.7.16 得到解决

MySQL 没有预装 macOS Sierra,需要从 MySQL 站点下载。

( https://dev.mysql.com/downloads/mysql/ ) 最新版本的MySQL 5.7.16确实适用于 macOS 的公开版本。

如果您已经拥有 MySQL 5.7 并且您已将操作系统从 El Capitan 升级到 Sierra,我希望这没问题,但如果有人对此发表评论会很感兴趣。

使用Mac OS X 10.11(x86,64 位),DMG 存档版本(适用于 macOS Sierra)。

如果您是从以前的 OSX 升级并拥有较旧的 MySQL 版本,则不必更新它。MySQL 升级的一件事总是对数据库进行数据转储,以防万一出现问题,并且在升级到 macOS Sierra 之前,请确保您的 MySQL 服务器没有运行。

下载时您不必注册,请查找» 不用了,请带我去下载! - 直接去下载镜像,从离你最近的镜像下载软件。

下载后打开 .dmg 并运行安装程序。

完成安装后,您会看到一个带有临时mysql root 密码的对话框——这是 MySQL root 密码而不是 macOS 管理员密码,复制并粘贴它以便您可以使用它。但我发现临时密码几乎没有用,所以我们需要立即更改它。

您还被告知:如果您丢失了此密码,请参阅 MySQL 参考手册中的如何重置 Root 密码部分。(https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions. html )

更改 MySQL 根密码

请注意,这与 macOS 的 root 或管理员密码不同 - 这是mysql root 用户的唯一密码,使用一个并记住/记下它是什么。

停止 MySQL

sudo /usr/local/mysql/support-files/mysql.server stop

如果停止引发权限问题

首先检查错误文件。

tail -f /usr/local/mysql/data/*.err

完全关闭或终止进程。确认没有mysql进程正在运行

mysqladmin -uroot shutdown
sudo killall mysqld 

ps -ef | grep mysql

给予许可

sudo chown -RL root:mysql /usr/local/mysql
sudo chown -RL mysql:mysql /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data/accountname.local.pid

or Right click->get info and change the permission for 
/usr/local/mysql/data
/usr/local/mysql/data/Pushparajas-MacBook-Pro.local.pid

启动mysql

sudo mysql.server start

以安全模式启动它:

sudo mysqld_safe --skip-grant-tables

这将是一个持续的命令,直到进程完成,因此打开另一个 shell/终端窗口,并使用临时生成的密码登录:

mysql -u root -p
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'

; 将小写的“MyNewPass”更改为您想要的 - 并保留单引号。

\q

启动 MySQL

sudo /usr/local/mysql/support-files/mysql.server start

启动 MySQL

然后,您可以从系统偏好设置或通过命令行启动 MySQL 服务器。

命令行启动 MySQL。

sudo /usr/local/mysql/support-files/mysql.server start

要从终端查找 MySQL 版本,请在提示符处键入:

/usr/local/mysql/bin/mysql -v -uroot -p

这也使您进入与 mySQL 的 shell 交互式对话,键入 \q 退出。

安装后,为了在不输入命令的完整路径的情况下使用 mysql 命令,您需要将 mysql 目录添加到您的 shell 路径中,(可选步骤)这是在您的主目录中的“.bash_profile”文件中完成的,如果您没有那个文件,只需使用 vi 或 nano 创建它:

cd ; nano .bash_profile
export PATH="/usr/local/mysql/bin:$PATH"

第一个命令将您带到您的主目录并打开 .bash_profile 文件,或者如果它不存在则创建一个新文件,然后添加上面的行,将 mysql 二进制路径添加到您可以运行的命令中。输入“control + x”退出文件,并在提示时输入“y”保存更改。这里要做的最后一件事是重新加载 shell 以使上述内容立即工作。

source ~/.bash_profile
mysql -v

您将再次获得版本号,只需键入“q”即可退出。

修复 2002 MySQL Socket 错误

修复迫在眉睫的 2002 套接字错误 - 这是链接 MySQL 放置套接字的位置和 macOS 认为它应该在的位置,MySQL 将它放在/tmp和 macOS 在/var/mysql中查找它套接字是一种允许 mysql 客户端的文件/服务器通信。

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

phpMyAdmin

在httpd.conf文件中取消注释下面的行

LoadModule php7_module libexec/apache2/libphp7.so

如果您还没有从 MySQL 部分修复 2002 套接字错误,请首先修复 -

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

下载 phpMyAdmin,( https://www.phpmyadmin.net/downloads/ ) zip 英文包适合很多用户,然后解压并将文件夹及其内容移动到文档根目录 (~/Sites/) 重命名文件夹到“phpmyadmin”。

制作配置文件夹

mkdir ~/Sites/phpmyadmin/config

更改权限

chmod o+w ~/Sites/phpmyadmin/config

在浏览器中运行设置 http://localhost/~username/phpmyadmin/setup/http://localhost/phpmyadmin/setup/

您需要创建一个新的 localhost mysql 服务器连接,单击new server

切换到Authentication选项卡并设置本地 mysql root 用户和密码。

添加用户名“root”(可能已经填充,添加您之前为 MySQL root 用户设置的密码,单击保存,您将返回上一个屏幕。(这不是 macOS 管理员或 root密码——它是 MySQL root 用户)。

确保单击保存,然后 config.inc.php 现在位于 phpmyadmin 目录的 /config 目录中,将此文件移动到 /phpmyadmin 的根目录,然后删除现在为的/config 目录。

在最新的 phpmyadmin 中,下载 config.inc.php 并放在 phpmyadmin 目录中。

如果要设置新服务器,请将 config.inc.php 移动到某个位置并尝试http://localhost/~username/phpmyadmin/setup

现在转到http://localhost/~username/phpmyadmin/将允许您与 MySQL 数据库进行交互。

要升级 phpmyadmin,只需下载最新版本并将旧的 '<strong>config.inc.php' 从现有目录复制到新文件夹并替换 - 备份旧版本以防万一。

权限

要运行没有权限问题的网站,最好将 Web 根目录及其内容设置为所有人可写,因为它是本地开发,所以不应该是安全问题。

假设您在User Sites文件夹中的以下位置~/Sites/testsite中有一个站点,您可以将其设置为可写,如下所示:

sudo chmod -R a+w ~/Sites/testsite

如果您担心安全性,那么您可以将所有者设置为 Apache _www ,而不是让它成为世界可写,但是在处理文件时,您必须以管理员身份进行更多身份验证,您“不是”所有者,您可以这样做:

sudo chown -R _www ~/Sites/testsite

这将递归地将内容设置为由 Apache 用户拥有。如果您将网站存储在系统级别的文档根目录中,例如~/Sites/testsite,那么它必须是后者:

sudo chown -R _www ~/Sites/testsite

如果您有一个单用户工作站,另一种更简单的方法是将 Apache Web 用户从 _www 更改为您的帐户。而已!您现在拥有在 macOS Sierra 之上运行的原生 AMP 堆栈。

参考链接 - https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/#ssu

于 2018-08-30T07:28:30.867 回答
2

正如我之前提到的其他人......让 Python 在 Mac 上与 MySQL 一起工作是一个 ?@#$@&%^!! 恶梦。

最初从原始 Django 网站在 Mac OS 10.7.5 上安装 Django 框架,当 MySQLdb 不起作用时,经过数小时的谷歌搜索和尝试 SO 的解决方案后,我已经从 BitNami http://bitnami.com安装了 Django 堆栈/堆栈/django

尽管如此,还是遇到了上面提到的问题,然后还有更多……

最终帮助我的是 Josh 在他的博客上推荐的内容:http: //joshbranchaud.com/blog/2013/02/10/Errors-While-Setting-Up-Django.html

现在 Python 2.7 终于连接到 MySQL 5.5

于 2013-10-08T01:11:55.113 回答
2

是时候成为一个大男孩并从源代码安装了。尝试这个:

1) 下载 MySQL-python-1.XXtar.gz 文件(默认会到你的下载目录)

2) 打开终端窗口并 cd 到下载目录。

3)解压你下载的文件:

~/Downloads$ tar xfvz MySQL-python-1.X.X.tar.gz

这将在您的下载目录中创建一个名为 MySQL-python 的目录

4) cd 进入新创建的目录。

5) 通常,您只需打开名为 README 或 INSTALL 的文件并按照说明进行操作——但通常要安装 python 模块,您所做的只是:

$ sudo python setup.py install

如果你想看看,在你新创建的 MySQL-python 目录中应该有一个名为 setup.py 的文件,你正在调用该程序来安装模块。

另请注意:

export PATH=$PATH:/usr/local/mysql/bin

如果您在命令行上执行此操作,则不是永久性的。您需要将该行放在主目录(~/ 或等效的 /Users/YOUR_USER_NAME)中名为 .bashrc 的文件中。要查看 .bashrc 是否已经存在(它是一个隐藏文件),请发出命令:

$ ls -al 

并寻找 .bashrc。如果 .bashrc 不存在,则创建它。

于 2013-04-24T02:37:49.593 回答
1

您遇到的问题是gcc您的 Mac 上未安装编译器。如果您安装了 XCode,它将被安装。您必须下载gcc编译器并手动安装。请点击以下链接并下载它 -

https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg

我曾经在安装 Ruby 1.9 时遇到过这个问题,我不得不自己编译 ruby​​,因为当时不支持 Mountain Lion。安装包后,通过命令验证安装gcc

于 2013-04-24T02:36:25.983 回答
1

最重要的是,我无法解决它。但我将文件添加到 /usr/local/include 解决它。

https://github.com/peterlee0304/MySQL-Python/blob/master/my_config.h

在 /usr/local/include 中,添加一个 my_config.h 文件。

然后 pip install MySQL-Python

解决这个问题!

于 2020-07-22T11:54:10.593 回答
1

我在 Mac OS X 10.11.4 15E65 上使用 Python 2.7.11 :: Anaconda 2.3.0 (x86_64)。

您可能需要按照以下步骤操作:

  • 安装自制软件
  • 打开终端并运行: brew install mysql-connector-c
  • 点安装 mysql-python

然后 Anaconda 将安装 mysql-python,然后您可以从 MySQLdb 开始。

祝你好运。谢谢。

于 2016-04-25T16:55:26.270 回答
0

以下可能会有所帮助。

brew install mysql-connector-c
CFLAGS =-I/usr/local/Cellar/mysql-connector-c/6.1.11/include pip install MySQL-python
brew unlink mysql-connector-c
于 2018-09-11T16:06:37.130 回答
0

我改用 PyMySQL,它工作正常!

sudo easy_install-3.7 pymysql
于 2019-11-04T11:15:16.040 回答
0

对我有用的是:

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
于 2018-02-02T10:30:55.707 回答