长话短说,当我写下以下内容时:
sudo easy_install MySQL-python
我收到错误
EnvironmentError:找不到mysql_config
好吧,所以有很多线程等关于如何修复它,所以我运行这段代码:
export PATH=$PATH:/usr/local/mysql/bin
然后我重新运行我的sudo代码:
sudo easy_install MySQL-python
然后我收到以下错误。
安装脚本退出并显示错误:命令'llvm-gcc-4.2'因退出状态1而失败
Google / Stack Overflow,我被告知要下载我前几天做过的GCC软件包,200 MB或者那些,但仍然没有修复。
此时我迷失了,他们说疯狂一遍又一遍地做同样的事情,同时期待不同的结果。好吧,我不断运行前面提到的代码,期待不同的结果,所以我不会远离疯狂。
在我的Python职业生涯的这一点上,我对此很陌生,但我愿意尝试几乎任何事情来实现这一目标。
如果我正式运行,Mac OS X 10.7.5,我确实安装了MAMP(这是一个问题吗?)
另外,有一天,当我第一次尝试所有这些时,我安装(重新安装?)MySQL,所以我现在真的处于困境。
有修复吗?
我绞尽脑汁,搜索谷歌,阅读Stack Overflow,花了好几个小时试图解决这个问题无济于事。
答案 0 :(得分:55)
这是我要安装的内容,特别是如果您想使用homebrew:
brew install mysql-connector-c
pip install mysql-python
答案 1 :(得分:25)
另一种选择是使用pymysql它是一个纯粹的Python客户端连接到MySQL,所以你不必乱搞编译,一个很好的练习,但如果你只是想获得它可能会令人沮丧完成的事情。 pymysql遵循与MySQLdb相同的API,它基本上可以用作替代品。
此外,它曾经是MySQLdb,不适用于Python 3,但这可能已经改变,pymysql没有那个也引起我切换的问题,但这可能已经改变了。 pymysql可能比MySQLdb慢,但你必须看看你是否注意到它,它也在不同的许可下(对于pymysql的MIT,对于MySQLdb的GPL)
答案 2 :(得分:12)
答案 3 :(得分:9)
对于Python 3 + ,mysql-python
库已损坏。相反,请使用mysqlclient library。 Install with: pip install mysqlclient
它是支持Python 3 +的mysql-python(也称为MySQLdb )的一个分支
这个库与MySQL客户端的C接口对话,比pure-python pymysql libray更快。
注意:您需要安装mysql-developer工具。在Mac上执行此操作的简便方法是运行
brew install mysql-connector-c
将此任务委托给自制软件。如果您使用的是Linux,则可以通过mysqlclient github page。
中的说明进行安装答案 4 :(得分:5)
我使用的是OSX -v 10.10.4 。上面的解决方案是quick & easy。
默认情况下,OSX没有连接库。
首先应安装连接器:
brew install mysql-connector-c
然后用pip mysql安装
pip install mysql-python
答案 5 :(得分:2)
是时候成为一个大男孩并从源头安装。试试这个:
1)下载MySQL-python-1.X.X.tar.gz文件(默认情况下会转到你的下载目录)
2)打开终端窗口并cd到Downloads目录。
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
如果您在命令行中执行此操作,则不是永久性的。您需要将该行放在主目录中名为.bashrc的文件中(〜/或等效/ Users / YOUR_USER_NAME)。要查看.bashrc是否已存在(它是隐藏文件),请发出命令:
$ ls -al
并查找.bashrc。如果.bashrc不存在,则创建它。
答案 6 :(得分:2)
正如其他人在我之前提到的......让Python在Mac上使用MySQL是一个?@#$ @&%^ !!梦魇。
最初从最初的Django网站在Mac OS 10.7.5上安装了Django框架,当MySQLdb不起作用,经过几个小时的谷歌搜索和尝试来自SO的解决方案后,我从BitNami安装了Django堆栈{{3} }
仍然,得到了上面提到的问题,然后还有一些......
最终帮助我的是Josh在他的博客上推荐的内容:http://bitnami.com/stack/django
现在Python 2.7最终连接到MySQL 5.5
答案 7 :(得分:1)
您遇到的问题是Mac上未安装gcc
编译器。如果您已安装XCode,它将被安装。您必须下载gcc
编译器并手动安装。请按照以下链接下载 -
https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg
我曾经遇到过安装Ruby 1.9的问题,我不得不为自己编译ruby,因为当时不支持Mountain Lion。安装软件包后,通过命令gcc
验证安装。
答案 8 :(得分:1)
我在Mac OS X 10.11.4 15E65上使用Python 2.7.11 :: Anaconda 2.3.0(x86_64)。
您可能需要按照以下步骤操作:
然后Anaconda将安装mysql-python,然后你可以从MySQLdb开始。
祝你好运。感谢。答案 9 :(得分:1)
要安装PyMySQL
install pip => sudo easy_install pip
安装PyMySQL => sudo easy_install-3.7 pymysql
terminal命令检查是否已安装=> pip3 list
或
安装PyMySQL => sudo pip install PyMySQL
terminal命令检查是否已安装=> 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 Server 未运行。
下载时无需注册,请查找 »不,谢谢,带我去下载! –直接转到下载镜像并下载从离您最近的镜子中下载软件。
下载完成后,打开.dmg并运行安装程序。
安装完成后,您会看到一个带有临时 mysql root密码的对话框-即MySQL root密码而不是macOS管理员密码,请复制并粘贴以便使用。但是我发现临时密码几乎没有用,因此我们需要立即对其进行更改。
您还被告知: 如果您丢失了此密码,请查阅MySQL参考手册中的“如何重置根密码”部分。(https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html)
更改MySQL根密码
请注意,这与macOS的root或admin密码不同–这是 mysql root用户的唯一密码,使用一个并记住/记下它的确切位置。< / p>
停止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
这将是一个持续执行的命令,直到该过程完成为止,因此打开另一个外壳/终端窗口,并使用临时生成的密码登录:
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”保存更改。最后要做的是重新加载外壳,以使上面的内容立即起作用。
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。 '。
制作 config 文件夹
mkdir ~/Sites/phpmyadmin/config
更改权限
chmod o+w ~/Sites/phpmyadmin/config
在浏览器中运行设置 http://localhost/~username/phpmyadmin/setup/或http://localhost/phpmyadmin/setup/
您需要创建一个新的localhost mysql服务器连接,单击新服务器。
切换到身份验证标签,然后设置本地mysql根用户和密码。
添加用户名“ 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,只需下载最新版本,然后将较旧的 config.inc.php 从现有目录复制到新文件夹中并替换-备份较旧的版本即可,以防万一。 >
权限
要在没有权限问题的情况下运行网站,最好将网站根目录及其内容设置为所有人均可写入,因为这是本地开发,因此不应该是安全问题。
让我们说您在 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堆栈。
答案 10 :(得分:1)
最重要的是,我无法解决。但是我将文件添加到/ usr / local / include即可解决它。
https://github.com/peterlee0304/MySQL-Python/blob/master/my_config.h
在/ usr / local / include中,添加一个my_config.h文件。
然后pip安装MySQL-Python
解决!
答案 11 :(得分:0)
对我有用的是:
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
答案 12 :(得分:0)
在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"
希望这可以为某人节省几个小时的心痛
答案 13 :(得分:0)
我改用PyMySQL,它可以正常工作!
sudo easy_install-3.7 pymysql
答案 14 :(得分:-1)
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