MacOS下想安装MySQL-Python,执行语句:

sudo pip install MySQL-Python

遇到了如下错误信息:

/Users/kaitlyn/anaconda3/envs/env2.7/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory

#include_next <limits.h>  /* recurse down to the real one */

^

compilation terminated.

error: command 'gcc' failed with exit status 1

可以看到gcc缺少头文件limit.h,google上看到有一个人遇到了相同的问题,他更新了新版本的gcc,问题得以解决。

解决方案是:更新gcc

1、下载适用于你的系统的MacPort,地址为https://www.macports.org/install.php

  我的系统是macOS Mojave,所以下载安装了macOS Mojave v10.14

2、更新MacPort版本,确保是最新版,在命令行输入:

sudo port selfupdate

3、安装gcc,在命令行输入:

sudo port install gcc7

  然后等待安装,过程可能比较慢。我安装的是gcc7,如果想安装任意别的版本,比如版本x,可以输入gccx。

  在执行这条语句时这里遇到一个问题:

  Warning: xcodebuild exists but failed to execute

  Warning: Xcode does not appear to be installed; most ports will likely fail to build.

  

  原因是从xcode4.3之前的版本更新之后,xcode-select依然指向旧版的xcode,需要在命令行输入:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

  这个办法我是参考的链接https://trac.macports.org/wiki/ProblemHotlist,finish这条命令以后再sudo port install gcc7安装一下。

4、我使用下面的命令更新了gcc7的最新版,当然这一步你也可以跳过

sudo port -n upgrade --force gcc7

(env2.7) Kaitlyns-Mac:lib kaitlyn$ sudo port -n upgrade --force gcc7

--->  Fetching archive for gcc7

--->  Attempting to fetch gcc7-7.4.0_0.darwin_18.x86_64.tbz2 from https://pek.cn.packages.macports.org/macports/packages/gcc7

--->  Attempting to fetch gcc7-7.4.0_0.darwin_18.x86_64.tbz2.rmd160 from https://pek.cn.packages.macports.org/macports/packages/gcc7

--->  Computing dependencies for gcc7

--->  Deactivating gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Uninstalling gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Computing dependencies for gcc7

--->  Installing gcc7 @7.4.0_0

--->  Activating gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Scanning binaries for linking errors

--->  No broken files found.

--->  No broken ports found.

5、安装完成以后,输入gcc -version查看现在的版本,发现依然是以前的旧版本4.8.5,而不是我安装的新版本7。

(env2.7) Kaitlyns-Mac:lib kaitlyn$ gcc --version

gcc (GCC) 4.8.5

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  这是因为原始默认版本就是4.8.5,需要切换版本。

  切换版本:你可以下面的语句查看MacPort管理所有版本。以mp作为前缀开头的是MacPort自己管理的版本,而gcc7和IIvm-gcc7是Xcode管理的。

port select --list gcc

(env2.7) Kaitlyns-Mac:bin kaitlyn$ port select --list gcc

Available versions for gcc:

mp-gcc7

none (active)

  可以看见我安装新版mp-gcc7

设置它为默认:

sudo port select --set gcc mp-gcc7

(env2.7) Kaitlyns-Mac:bin kaitlyn$ sudo port select --set gcc mp-gcc7

Password:

Selecting 'mp-gcc7' for 'gcc' succeeded. 'mp-gcc7' is now active.

再查看:

gcc --version

(env2.7) Kaitlyns-Mac:bin kaitlyn$ gcc --version

gcc (MacPorts gcc7 7.4.0_0) 7.4.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

可以看到现在为gcc7.4.0了。

error: command 'gcc' failed with exit status 1的更多相关文章

  1. pip error: command 'gcc' failed with exit status 1

    SWIG/_m2crypto_wrap.c:127:20: 致命错误:Python.h:没有那个文件或目录     #include <Python.h>                  ...

  2. Centos4.3安装MySQL-python-1.2.3,出现error: command 'gcc' failed with exit status 1

    在Linux Centos 4.3上安装MySQL-python-1.2.3的时候出现error: command 'gcc' failed with exit status 1, 具体原因是因为没有 ...

  3. mysql_config not found和error: command 'gcc' failed with exit status 1

    要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块. 下载地址:https://pypi.python.org/pypi/MySQ ...

  4. 【centos】 error: command 'gcc' failed with exit status 1

    原文连接http://blog.csdn.net/fenglifeng1987/article/details/38057193 用安装Python模块出现error: command 'gcc' f ...

  5. centos7 安装mysql--python模块出现EnvironmentError: mysql_config not found和error: command 'gcc' failed with exit status 1

    要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块. 下载地址:https://pypi.python.org/pypi/MySQ ...

  6. python安装模块的时候报错error: command 'gcc' failed with exit status 1

    [情况] 在写Python代码的时候,需要用到psutil模块,需要安装. 但是在安装时,报错:error: command 'gcc' failed with exit status 1 [解决步骤 ...

  7. pip安装模块时:error: command 'gcc' failed with exit status 1

    用安装python模块出现error: command 'gcc' failed with exit status 1 问题: gcc编译缺少模块 解决方法: yum install gcc libf ...

  8. python psutil 编译中断。 error: command 'gcc' failed with exit status 1

    error info [root@chenbj psutil-2.0.0]# python setup.py install running install running bdist_egg run ...

  9. pycuda installation error: command 'gcc' failed with exit status 1

    原文:python采坑之路 Setup script exited with error: command 'gcc' failed with exit status 1 伴随出现"cuda ...

随机推荐

  1. js小技巧总结

    js小技巧总结 1.Array.includes条件判断 function test(fruit) { const redFruits = ["apple", "stra ...

  2. Android 开发 PopupWindow弹窗

    简介 PopupWindow,顾名思义弹窗.PopupWindow是与AlertDialog在形式上类似的弹窗功能,都是为了在activity最上层显示一个弹窗.但是区别是PopupWindow可以自 ...

  3. hdfs webhdfs 写文件(create file)

    # _*_ coding=utf-8 _*_ import sys import os hosts = {} cmd1 = ''' curl -i -X PUT "http://%s:500 ...

  4. mybatis学习 -每天一记(驼峰命名匹配)

    在mybatis 中,数据库表有一个与之对应的实体类.类属性的命名是驼峰命名的,所以在mybatis中要开启驼峰匹配, 在spring boot 的项目中,至需要在yml文件中配置 即可. 当然也有其 ...

  5. 看Spring注解之IOC记录

    首先看源码里有些是java的元注解记录的有如下几个: @Inherited注释:指明被注解的类会自动继承.更具体地说,如果定义注解时使用了 @Inherited 标记,然后用定义的注解来标注另一个父类 ...

  6. 使用ScheduledThreadPoolExecutor执行定时任务

    ScheduledThreadPoolExecutor scheduled = new ScheduledThreadPoolExecutor(2); scheduled.scheduleAtFixe ...

  7. DataGridView添加的数据最后一步无法生效的问题。

    在做项目时,需要使用到大量固定的参数,使用时只需修改一部分定值即可,所以就选用DataGridView控件进行循环添加,数据添加完成,一切正常,但是在修改数据时发现,每一次修改的数据的操作的最后一步总 ...

  8. window Linux 双系统安装

    我是先安装的win10,然后在其基础上又安装了Ubuntu 16.04,为了今后再次安装方便,这里记录一下安装过程. 我在安装时主要参考了文章:https://blog.csdn.net/flyyuf ...

  9. linux centos 磁盘清理

    执行df -h 与 du -sh / 所查询到的已用容量不对应 执行xfs_fsr来清理磁盘 参考 https://www.jianshu.com/p/0ded68808123

  10. UI测试和GUI测试的区别

    UI 测试 包含GUI测试和command line 测试 分享连接 https://www.ranorex.com/resources/testing-wiki/gui-testing/