【问题标题】:Using pip to install MySQLdb error on Mac OS X 10.12在 Mac OS X 10.12 上使用 pip 安装 MySQLdb 错误
【发布时间】:2017-03-04 11:05:23
【问题描述】:

我目前使用的是 Mac OS X 10.12。我正在尝试安装 MySQLdb,但一直收到这些错误。

当我运行 sudo pip install MySQLdb 时,错误信息是:

Collecting MySQL-python
Downloading MySQL-python-1.2.5.zip (108kB)
100% |████████████████████████████████| 112kB 233kB/s 
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/tmp/pip-build-m1bhp0l0/MySQL-python/setup.py", line 13, in <module>
    from setup_posix import get_config
  File "/private/tmp/pip-build-m1bhp0l0/MySQL-python/setup_posix.py", line 2, in <module>
    from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-m1bhp0l0/MySQL-python/

然后我尝试下载 MySQL-python-1.2.4b4,并使用它直接运行 setup.py。然后我得到了这个错误:

Traceback (most recent call last):
File "/Users/phil/Downloads/MySQL-python-1.2.4b4 2/setup.py", line 18, in <module>
metadata, options = get_config()
File "/Users/phil/Downloads/MySQL-python-1.2.4b4 2/setup_posix.py", line 32, in get_config
metadata, options = get_metadata_and_options()
File "/Users/phil/Downloads/MySQL-python-1.2.4b4 2/setup_common.py", line 12, in get_metadata_and_options
metadata = dict(config.items('metadata'))
   File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ConfigParser.py", line 642, in items
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'metadata'

尝试了很多解决方案。仍然有很多错误。 请在这里帮忙。

【问题讨论】:

    标签: mysql django macos python-2.7


    【解决方案1】:

    问题是 MySQL-python 包没有currently support Python 3

    您可以使用另一个 mysql 包,例如 mysqlclient,它是 MySQL-python 的一个分支,支持 Python 3,对我来说效果很好:

     sudo pip install mysqlclient
    

    或者,如果您仍然需要使用 MySQL-python,您可以尝试在 Python 2.7 中安装它并将其用于开发:

     sudo pip2 install MySQL-python
    

    希望这会有所帮助。

    【讨论】:

    • 如何检查我是在python3还是2下运行......我想我都安装了......
    • 我也成功安装了mysqlclient。但是不太清楚下一步是什么......
    • 在终端中,你可以写python -V来检查你使用的python的默认版本。您始终可以使用python3python2 来确保您使用的是正确的版本。此外,检查哪个版本的 python pip 正在使用运行此命令pip -V。同样,您可以使用pip3pip2 来确保您使用的是您想要的。
    • 关于下一步。这取决于您想要做什么以及您的 mysql 安装的当前状态。 @lxer 提供的链接非常详尽