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的更多相关文章
-
pip error: command &#39;gcc&#39; failed with exit status 1
SWIG/_m2crypto_wrap.c:127:20: 致命错误:Python.h:没有那个文件或目录 #include <Python.h> ...
-
Centos4.3安装MySQL-python-1.2.3,出现error: command &#39;gcc&#39; failed with exit status 1
在Linux Centos 4.3上安装MySQL-python-1.2.3的时候出现error: command 'gcc' failed with exit status 1, 具体原因是因为没有 ...
-
mysql_config not found和error: command &#39;gcc&#39; failed with exit status 1
要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块. 下载地址:https://pypi.python.org/pypi/MySQ ...
-
【centos】 error: command &#39;gcc&#39; failed with exit status 1
原文连接http://blog.csdn.net/fenglifeng1987/article/details/38057193 用安装Python模块出现error: command 'gcc' f ...
-
centos7 安装mysql--python模块出现EnvironmentError: mysql_config not found和error: command &#39;gcc&#39; failed with exit status 1
要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块. 下载地址:https://pypi.python.org/pypi/MySQ ...
-
python安装模块的时候报错error: command &#39;gcc&#39; failed with exit status 1
[情况] 在写Python代码的时候,需要用到psutil模块,需要安装. 但是在安装时,报错:error: command 'gcc' failed with exit status 1 [解决步骤 ...
-
pip安装模块时:error: command &#39;gcc&#39; failed with exit status 1
用安装python模块出现error: command 'gcc' failed with exit status 1 问题: gcc编译缺少模块 解决方法: yum install gcc libf ...
-
python psutil 编译中断。 error: command &#39;gcc&#39; failed with exit status 1
error info [root@chenbj psutil-2.0.0]# python setup.py install running install running bdist_egg run ...
-
pycuda installation error: command 'gcc' failed with exit status 1
原文:python采坑之路 Setup script exited with error: command 'gcc' failed with exit status 1 伴随出现"cuda ...
随机推荐
-
Github+hexo绑定域名
Github绑定域名 近期在新网购买了一个属于自己的域名,因此想着把自己用hexo+github搭建的博客通过域名访问,但是找了n长时间来搞,都没有成功.心灰意冷之中再次通过google来搜索,终于有 ...
-
NHibernate中,查询SqlServer数据库多个实体对象
关于datetime类型使用: Oracle: "and tb.EffectiveDate >= to_date(?,'yyyy-mm')" Sql: "an ...
-
hasOwnProperty,in
hasOwnProperty,in区别: hasOwnProperty:指出一个对象是否具有指定名称的属性 in:对象是否能够访问此属性(包括直接在对象*问和通过原型访问) 看下示例代码: (fun ...
-
php 怎么设置报错级别 和 控制报错[转]
在Windows环境下:有时在其他环境下运行正常的程序在自己的环境上会报错误 程序会 报出 Undefined index: 这样的错误例如有如下的代码: ...
-
[React Native] Create a component using ScrollView
To show a list of unchanging data in React Native you can use the scroll view component. In this les ...
-
undefined与null的区别(待修整)
没有实体的对象称为空对象.只用对象的引用,而不存在引用的实体对象 就叫做空对象 在常见的强类型语言中,通常有一个表示"空"的值,比如NULL.但是在Javascript中,空(或者 ...
-
Mysql编写定时任务事件
原文:Mysql编写定时任务事件 场景: 例如:某系统,用户每天只能拥有一次的抽奖机会,抽过后当天就不可再抽,但是过了24:00点后用户就重新拥有一次抽奖机会.像这种需要数据库定时对某个字段进行更新操 ...
-
Unity Object Pool完全体
using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; public ...
-
DUMP2 企业级电商项目
正常设计数据库表,按照数据流向. ~~闭环核心业务 [1用户]登录 =>浏览[2分类]+浏览[3商品]=>加入[4购物车]=>结算[5订单]+[6收货地址]=>[7支付] [购 ...
-
php 字符串翻转
字符串翻转 <?php$s = 'strlen,substr,count';$o = '';$i = 0;while(isset($s[$i]) && $s[$i] != nul ...