无法在 MacOS 10.12.4 上使用 pip 安装 mysql-python

Posted

技术标签:

【中文标题】无法在 MacOS 10.12.4 上使用 pip 安装 mysql-python【英文标题】:Can't install mysql-python with pip on MacOS 10.12.4 【发布时间】:2017-09-23 21:06:26 【问题描述】:

运行pip install mysql-python时收到以下错误

Collecting mysql-python
  Using cached MySQL-python-1.2.5.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/mysql-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 53, in get_config
        libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]
      File "setup_posix.py", line 8, in dequote
        if s[0] in "\"'" and s[0] == s[-1]:
    IndexError: string index out of range

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/mysql-python/

我按照this 中关于重新安装 setuptools 的说明进行操作,并从https://www.python.org/ 重新安装了 Python

which -a python给了

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
/usr/bin/python

这个错误似乎是在安装 MacOS 10.12.4 更新后出现的

【问题讨论】:

【参考方案1】:

解决了这个

brew install mysql
pip install MySQL-python

【讨论】:

感谢您的解决方案。这让我发疯了。实际上我必须同时做你和其他人: brew unlink mysql-connector-c 然后 brew install mysql 在此之后添加brew link mysql ^ 我确定mysql已安装并链接,然后运行 ​​pip install MySQL-python 还是同样的错误【参考方案2】:

如果您仍然因“mysql-python 构建失败”之类的内容失败,请尝试

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python

这对我来说就像一个魅力。

【讨论】:

谢谢!为我节省了很多时间! 太棒了!非常感谢!也节省了我的时间:) 这是唯一对我有用的解决方案,非常感谢!! 也拯救了我的一天。 也保存了我的期末成绩项目。【参考方案3】:

这对我有用(macOS Mojave 10.14.2):

brew install mysql@5.7
brew link --force mysql@5.7
brew install mysql-client
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python

【讨论】:

谢谢!这对我有用。还要处理莫哈韦沙漠。 谢谢,为我节省了很多时间。在 macOS Mojave 上工作。【参考方案4】:

如果你像我一样在 mac 中从源代码安装了 mysql,那么忘记建议使用 brew 的人 - 你的机器已经有 mysql-connector-c。如果您确实 brew install mysql-connector-c,请执行 brew uninstall mysql-connector-c 并再次尝试 pip install mysql-python (Python 3)。

【讨论】:

【参考方案5】:

这对我有用:

    brew install mysql@5.7
    brew link --force mysql@5.7

【讨论】:

【参考方案6】:

要解决这个问题,我们应该编辑 mysql_config 文件。

为此,发出命令:

vi `which mysql_config`

这将在 vi 编辑器中打开 mysql_config

i 进入插入模式

现在找线

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

对我来说它在第 118 行。上面的行应该改为

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

现在按esc按钮退出插入模式并保存添加的内容 通过在 vi 编辑器中发出 command:wq

现在尝试使用 pip 重新安装 MySQL-Python 模块。

请注意,假设已安装 mysqlopenssl

【讨论】:

这个解决方案是唯一对我有用的解决方案。谢谢!【参考方案7】:

对我来说这很有效:

brew install mysql-connector-c 
pip install MySQL-python
pip install mysql-connector

【讨论】:

以上是关于无法在 MacOS 10.12.4 上使用 pip 安装 mysql-python的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Macos 错误上安装 Scikit Learn 包 [重复]

无法使用 pip3 在 Mac 上安装 PyQT5

无法在 macOS“Big Sur”和 python 3.8 中编译 pip 包:“ld:未知选项:-Bsymbolic”

无法在 macOS Sierra 上通过 USB 连接到 J-Link

尝试在 macos 上使用 pip 安装任何东西,但不能

使用 pip 在 MacOS 上安装 Glumpy 失败